Resident data ends at 31c4, program starts at 31c4, file ends at d458 Starting analysis pass at address 31c1 End of analysis pass, low address = 31c4, high address = c8a0 [Start of code] Main routine R0001, 0 locals CALL_VS R0002 -> Gef QUIT Routine R0002, 0 locals CALL_VN R0308 (#0016,#0049) RTRUE Routine R0003, 0 locals RTRUE Routine R0004, 1 local LOADB L00,#00 -> -(SP) PULL Gef JE Gef,#61,#65,#69 [TRUE] L0001 JE Gef,#6f,#75,#41 [TRUE] L0001 JE Gef,#45,#49,#4f [TRUE] L0001 JE Gef,#55 [FALSE] L0002 L0001: RTRUE L0002: RFALSE Routine R0005, 1 local STORE Gef,L00 JE Gef,#07 [FALSE] L0001 PRINT "north" JUMP L0013 L0001: JE Gef,#08 [FALSE] L0002 PRINT "south" JUMP L0013 L0002: JE Gef,#09 [FALSE] L0003 PRINT "east" JUMP L0013 L0003: JE Gef,#0a [FALSE] L0004 PRINT "west" JUMP L0013 L0004: JE Gef,#0b [FALSE] L0005 PRINT "northeast" JUMP L0013 L0005: JE Gef,#0d [FALSE] L0006 PRINT "northwest" JUMP L0013 L0006: JE Gef,#0c [FALSE] L0007 PRINT "southeast" JUMP L0013 L0007: JE Gef,#0e [FALSE] L0008 PRINT "southwest" JUMP L0013 L0008: JE Gef,#0f [FALSE] L0009 PRINT "up" JUMP L0013 L0009: JE Gef,#10 [FALSE] L0010 PRINT "down" JUMP L0013 L0010: JE Gef,#11 [FALSE] L0011 PRINT "in" JUMP L0013 L0011: JE Gef,#12 [FALSE] L0012 PRINT "out" JUMP L0013 L0012: CALL_VS R0112 (#09,L00) -> -(SP) RET_POPPED L0013: RTRUE Routine R0006, 2 locals JZ L00 [FALSE] L0001 PRINT "zero" RFALSE L0001: JL L00,#00 [FALSE] L0002 PRINT "minus " SUB #00,L00 -> L00 L0002: JL L00,#03e8 [TRUE] L0003 DIV L00,#03e8 -> -(SP) CALL_2N R0006 ((SP)+) PRINT " thousand" MOD L00,#03e8 -> L00 STORE L01,#01 L0003: JL L00,#64 [TRUE] L0005 JE L01,#01 [FALSE] L0004 PRINT ", " L0004: DIV L00,#64 -> -(SP) CALL_2N R0006 ((SP)+) PRINT " hundred" MOD L00,#64 -> L00 STORE L01,#01 L0005: JZ L00 [TRUE] RFALSE JE L01,#01 [FALSE] L0006 PRINT " and " L0006: STORE Gef,L00 JE Gef,#01 [FALSE] L0007 PRINT "one" JUMP L0034 L0007: JE Gef,#02 [FALSE] L0008 PRINT "two" JUMP L0034 L0008: JE Gef,#03 [FALSE] L0009 PRINT "three" JUMP L0034 L0009: JE Gef,#04 [FALSE] L0010 PRINT "four" JUMP L0034 L0010: JE Gef,#05 [FALSE] L0011 PRINT "five" JUMP L0034 L0011: JE Gef,#06 [FALSE] L0012 PRINT "six" JUMP L0034 L0012: JE Gef,#07 [FALSE] L0013 PRINT "seven" JUMP L0034 L0013: JE Gef,#08 [FALSE] L0014 PRINT "eight" JUMP L0034 L0014: JE Gef,#09 [FALSE] L0015 PRINT "nine" JUMP L0034 L0015: JE Gef,#0a [FALSE] L0016 PRINT "ten" JUMP L0034 L0016: JE Gef,#0b [FALSE] L0017 PRINT "eleven" JUMP L0034 L0017: JE Gef,#0c [FALSE] L0018 PRINT "twelve" JUMP L0034 L0018: JE Gef,#0d [FALSE] L0019 PRINT "thirteen" JUMP L0034 L0019: JE Gef,#0e [FALSE] L0020 PRINT "fourteen" JUMP L0034 L0020: JE Gef,#0f [FALSE] L0021 PRINT "fifteen" JUMP L0034 L0021: JE Gef,#10 [FALSE] L0022 PRINT "sixteen" JUMP L0034 L0022: JE Gef,#11 [FALSE] L0023 PRINT "seventeen" JUMP L0034 L0023: JE Gef,#12 [FALSE] L0024 PRINT "eighteen" JUMP L0034 L0024: JE Gef,#13 [FALSE] L0025 PRINT "nineteen" JUMP L0034 L0025: JL Gef,#14 [TRUE] L0034 JG Gef,#63 [TRUE] L0034 DIV L00,#0a -> -(SP) PULL Gef JE Gef,#02 [FALSE] L0026 PRINT "twenty" JUMP L0033 L0026: JE Gef,#03 [FALSE] L0027 PRINT "thirty" JUMP L0033 L0027: JE Gef,#04 [FALSE] L0028 PRINT "forty" JUMP L0033 L0028: JE Gef,#05 [FALSE] L0029 PRINT "fifty" JUMP L0033 L0029: JE Gef,#06 [FALSE] L0030 PRINT "sixty" JUMP L0033 L0030: JE Gef,#07 [FALSE] L0031 PRINT "seventy" JUMP L0033 L0031: JE Gef,#08 [FALSE] L0032 PRINT "eighty" JUMP L0033 L0032: JE Gef,#09 [FALSE] L0033 PRINT "ninety" L0033: MOD L00,#0a -> -(SP) JZ (SP)+ [TRUE] L0034 PRINT "-" MOD L00,#0a -> -(SP) CALL_2N R0006 ((SP)+) L0034: RTRUE Routine R0007, 3 locals MOD L00,#0c -> L02 JL L02,#0a [FALSE] L0001 PRINT " " L0001: JZ L02 [FALSE] L0002 STORE L02,#0c L0002: PRINT_NUM L02 PRINT ":" DIV L01,#0a -> -(SP) PRINT_NUM (SP)+ MOD L01,#0a -> -(SP) PRINT_NUM (SP)+ DIV L00,#0c -> -(SP) JG (SP)+,#00 [FALSE] L0003 PRINT " pm" JUMP L0004 L0003: PRINT " am" L0004: RTRUE Routine R0008, 1 local JE L00,"l" [FALSE] L0001 PRINT "look" RTRUE L0001: JE L00,"z" [FALSE] L0002 PRINT "wait" RTRUE L0002: JE L00,"x" [FALSE] L0003 PRINT "examine" RTRUE L0003: JE L00,"i","inv","inventory" [FALSE] L0004 PRINT "inventory" RTRUE L0004: RFALSE Routine R0009, 1 local TEST_ATTR L00,#1e [FALSE] L0001 PRINT "those" JUMP L0002 L0001: PRINT "that" L0002: RTRUE Routine R0010, 1 local TEST_ATTR L00,#1e [FALSE] L0001 PRINT "them" JUMP L0002 L0001: PRINT "it" L0002: RTRUE Routine R0011, 1 local TEST_ATTR L00,#1e [FALSE] L0001 PRINT "are" JUMP L0002 L0001: PRINT "is" L0002: RTRUE Routine R0012, 1 local TEST_ATTR L00,#1e [FALSE] L0001 PRINT "Those" JUMP L0002 L0001: PRINT "That" L0002: RTRUE Routine R0013, 1 local TEST_ATTR L00,#1e [FALSE] L0001 PRINT "They're" JUMP L0002 L0001: PRINT "That's" L0002: RTRUE Routine R0014, 2 locals JE Ge9,#1008 [FALSE] L0001 PRINT " >" RTRUE L0001: JE Ge9,#1007 [FALSE] L0066 STORE Gef,L00 JE Gef,#01 [FALSE] L0002 PRINT_RET "(considering the first sixteen objects only) " L0002: JE Gef,#02 [FALSE] L0003 PRINT_RET "Nothing to do!" L0003: JE Gef,#03 [FALSE] L0004 PRINT " You have died " JUMP L0065 L0004: JE Gef,#04 [FALSE] L0005 PRINT " You have won " JUMP L0065 L0005: JE Gef,#05 [FALSE] L0008 PRINT " Would you like to RESTART, RESTORE a saved game" JZ #0001 [FALSE] L0006 PRINT ", give the FULL score for that game" L0006: JE G13,#02 [FALSE] L0007 JZ #0001 [FALSE] L0007 PRINT ", see some suggestions for AMUSING things to do" L0007: PRINT_RET " or QUIT?" L0008: JE Gef,#06 [FALSE] L0009 PRINT_RET "[Your interpreter does not provide "undo". Sorry!]" L0009: JE Gef,#07 [FALSE] L0010 PRINT_RET ""Undo" failed. [Not all interpreters provide it.]" L0010: JE Gef,#08 [FALSE] L0011 PRINT_RET "Please give one of the answers above." L0011: JE Gef,#09 [FALSE] L0012 PRINT_RET " It is now pitch dark in here!" L0012: JE Gef,#0a [FALSE] L0013 PRINT_RET "I beg your pardon?" L0013: JE Gef,#0b [FALSE] L0014 PRINT_RET "[You can't "undo" what hasn't been done!]" L0014: JE Gef,#0c [FALSE] L0015 PRINT_RET "[Can't "undo" twice in succession. Sorry!]" L0015: JE Gef,#0d [FALSE] L0016 PRINT_RET "[Previous turn undone.]" L0016: JE Gef,#0e [FALSE] L0017 PRINT_RET "Sorry, that can't be corrected." L0017: JE Gef,#0f [FALSE] L0018 PRINT_RET "Think nothing of it." L0018: JE Gef,#10 [FALSE] L0019 PRINT_RET ""Oops" can only correct a single word." L0019: JE Gef,#11 [FALSE] L0020 PRINT_RET "It is pitch dark, and you can't see a thing." L0020: JE Gef,#12 [FALSE] L0021 PRINT "yourself" JUMP L0065 L0021: JE Gef,#13 [FALSE] L0022 PRINT_RET "As good-looking as ever." L0022: JE Gef,#14 [FALSE] L0023 PRINT_RET "To repeat a command like "frog, jump", just say "again", not "frog, again"." L0023: JE Gef,#15 [FALSE] L0024 PRINT_RET "You can hardly repeat that." L0024: JE Gef,#16 [FALSE] L0025 PRINT_RET "You can't begin with a comma." L0025: JE Gef,#17 [FALSE] L0026 PRINT_RET "You seem to want to talk to someone, but I can't see whom." L0026: JE Gef,#18 [FALSE] L0027 PRINT "You can't talk to " CALL_2N R0103 (L01) PRINT_RET "." L0027: JE Gef,#19 [FALSE] L0028 PRINT_RET "To talk to someone, try "someone, hello" or some such." L0028: JE Gef,#1a [FALSE] L0029 PRINT "(first taking " CALL_2N R0103 (G40) PRINT_RET ")" L0029: JE Gef,#1b [FALSE] L0030 PRINT_RET "I didn't understand that sentence." L0030: JE Gef,#1c [FALSE] L0031 PRINT "I only understood you as far as wanting to " JUMP L0065 L0031: JE Gef,#1d [FALSE] L0032 PRINT_RET "I didn't understand that number." L0032: JE Gef,#1e [FALSE] L0033 PRINT_RET "You can't see any such thing." L0033: JE Gef,#1f [FALSE] L0034 PRINT_RET "You seem to have said too little!" L0034: JE Gef,#20 [FALSE] L0035 PRINT_RET "You aren't holding that!" L0035: JE Gef,#21 [FALSE] L0036 PRINT_RET "You can't use multiple objects with that verb." L0036: JE Gef,#22 [FALSE] L0037 PRINT_RET "You can only use multiple objects once on a line." L0037: JE Gef,#23 [FALSE] L0038 PRINT "I'm not sure what "" PRINT_ADDR G64 PRINT_RET "" refers to." L0038: JE Gef,#24 [FALSE] L0039 PRINT_RET "You excepted something not included anyway!" L0039: JE Gef,#25 [FALSE] L0040 PRINT_RET "You can only do that to something animate." L0040: JE Gef,#26 [FALSE] L0041 PRINT_RET "That's not a verb I recognise." L0041: JE Gef,#27 [FALSE] L0042 PRINT_RET "That's not something you need to refer to in the course of this game." L0042: JE Gef,#28 [FALSE] L0043 PRINT "You can't see "" PRINT_ADDR G64 PRINT "" (" CALL_2N R0103 (G65) PRINT_RET ") at the moment." L0043: JE Gef,#29 [FALSE] L0044 PRINT_RET "I didn't understand the way that finished." L0044: JE Gef,#2a [FALSE] L0049 JZ L01 [FALSE] L0045 PRINT "None" JUMP L0046 L0045: PRINT "Only " CALL_2N R0106 (L01) L0046: PRINT " of those " JE L01,#01 [FALSE] L0047 PRINT "is" JUMP L0048 L0047: PRINT "are" L0048: PRINT_RET " available." L0049: JE Gef,#2b [FALSE] L0050 PRINT_RET "Nothing to do!" L0050: JE Gef,#2c [FALSE] L0051 PRINT_RET "There are none at all available!" L0051: JE Gef,#2d [FALSE] L0052 PRINT "Who do you mean, " JUMP L0065 L0052: JE Gef,#2e [FALSE] L0053 PRINT "Which do you mean, " JUMP L0065 L0053: JE Gef,#2f [FALSE] L0054 PRINT_RET "Sorry, you can only have one item here. Which exactly?" L0054: JE Gef,#30 [FALSE] L0056 PRINT "Whom do you want" JE G34,G12 [TRUE] L0055 PRINT " " CALL_2N R0103 (G34) L0055: PRINT " to " CALL_1N R0035 PRINT "? " JUMP L0065 L0056: JE Gef,#31 [FALSE] L0058 PRINT "What do you want" JE G34,G12 [TRUE] L0057 PRINT " " CALL_2N R0103 (G34) L0057: PRINT " to " CALL_1N R0035 PRINT "? " JUMP L0065 L0058: JE Gef,#32 [FALSE] L0062 PRINT "Your score has just gone " JG L01,#00 [FALSE] L0059 PRINT "up" JUMP L0060 L0059: SUB #00,L01 -> L01 PRINT "down" L0060: PRINT " by " CALL_2N R0106 (L01) PRINT " point" JG L01,#01 [FALSE] L0061 PRINT "s" L0061: JUMP L0065 L0062: JE Gef,#33 [FALSE] L0063 PRINT_RET "(Since something dramatic has happened, your list of commands has been cut short.)" L0063: JE Gef,#34 [FALSE] L0064 PRINT " Type a number from 1 to " PRINT_NUM L01 PRINT_RET ", 0 to redisplay or press ENTER." L0064: JE Gef,#35 [FALSE] L0065 PRINT_RET " [Please press SPACE.]" L0065: RTRUE L0066: JE Ge9,#1006 [FALSE] L0089 STORE Gef,L00 JE Gef,#01 [FALSE] L0067 PRINT " (providing light)" JUMP L0088 L0067: JE Gef,#02 [FALSE] L0068 PRINT " (which " CALL_2N R0011 (L01) PRINT " closed)" JUMP L0088 L0068: JE Gef,#03 [FALSE] L0069 PRINT " (closed and providing light)" JUMP L0088 L0069: JE Gef,#04 [FALSE] L0070 PRINT " (which " CALL_2N R0011 (L01) PRINT " empty)" JUMP L0088 L0070: JE Gef,#05 [FALSE] L0071 PRINT " (empty and providing light)" JUMP L0088 L0071: JE Gef,#06 [FALSE] L0072 PRINT " (which " CALL_2N R0011 (L01) PRINT " closed and empty)" JUMP L0088 L0072: JE Gef,#07 [FALSE] L0073 PRINT " (closed, empty and providing light)" JUMP L0088 L0073: JE Gef,#08 [FALSE] L0074 PRINT " (providing light and being worn" JUMP L0088 L0074: JE Gef,#09 [FALSE] L0075 PRINT " (providing light" JUMP L0088 L0075: JE Gef,#0a [FALSE] L0076 PRINT " (being worn" JUMP L0088 L0076: JE Gef,#0b [FALSE] L0077 PRINT " (which " CALL_2N R0011 (L01) PRINT " " JUMP L0088 L0077: JE Gef,#0c [FALSE] L0078 PRINT "open" JUMP L0088 L0078: JE Gef,#0d [FALSE] L0079 PRINT "open but empty" JUMP L0088 L0079: JE Gef,#0e [FALSE] L0080 PRINT "closed" JUMP L0088 L0080: JE Gef,#0f [FALSE] L0081 PRINT "closed and locked" JUMP L0088 L0081: JE Gef,#10 [FALSE] L0082 PRINT " and empty" JUMP L0088 L0082: JE Gef,#11 [FALSE] L0083 PRINT " (which " CALL_2N R0011 (L01) PRINT " empty)" JUMP L0088 L0083: JE Gef,#12 [FALSE] L0084 PRINT " containing " JUMP L0088 L0084: JE Gef,#13 [FALSE] L0085 PRINT " (on " JUMP L0088 L0085: JE Gef,#14 [FALSE] L0086 PRINT ", on top of " JUMP L0088 L0086: JE Gef,#15 [FALSE] L0087 PRINT " (in " JUMP L0088 L0087: JE Gef,#16 [FALSE] L0088 PRINT ", inside " L0088: RTRUE L0089: JE Ge9,#00 [FALSE] L0094 STORE Gef,L00 JE Gef,#01 [FALSE] L0090 PRINT "At the moment, " JUMP L0093 L0090: JE Gef,#02 [FALSE] L0091 PRINT "means " JUMP L0093 L0091: JE Gef,#03 [FALSE] L0092 PRINT "is unset" JUMP L0093 L0092: JE Gef,#04 [FALSE] L0093 PRINT_RET "no pronouns are known to the game." L0093: RTRUE L0094: JE Ge9,#1003 [FALSE] L0097 CALL_2N R0104 (L01) TEST_ATTR L01,#1e [FALSE] L0095 PRINT " have" JUMP L0096 L0095: PRINT " has" L0096: PRINT_RET " better things to do." L0097: JE Ge9,#01 [FALSE] L0100 STORE Gef,L00 JE Gef,#01 [FALSE] L0098 PRINT "Please answer yes or no." JUMP L0099 L0098: JE Gef,#02 [FALSE] L0099 PRINT "Are you sure you want to quit? " L0099: RTRUE L0100: JE Ge9,#02 [FALSE] L0103 STORE Gef,L00 JE Gef,#01 [FALSE] L0101 PRINT "Are you sure you want to restart? " JUMP L0102 L0101: JE Gef,#02 [FALSE] L0102 PRINT_RET "Failed." L0102: RTRUE L0103: JE Ge9,#03 [FALSE] L0106 STORE Gef,L00 JE Gef,#01 [FALSE] L0104 PRINT_RET "Restore failed." L0104: JE Gef,#02 [FALSE] L0105 PRINT_RET "Ok." L0105: RTRUE L0106: JE Ge9,#04 [FALSE] L0109 STORE Gef,L00 JE Gef,#01 [FALSE] L0107 PRINT_RET "Save failed." L0107: JE Gef,#02 [FALSE] L0108 PRINT_RET "Ok." L0108: RTRUE L0109: JE Ge9,#05 [FALSE] L0112 STORE Gef,L00 JE Gef,#01 [FALSE] L0110 PRINT_RET "The game file has verified as intact." L0110: JE Gef,#02 [FALSE] L0111 PRINT_RET "The game file did not verify as intact, and may be corrupted (unless you are playing it with a very primitive interpreter which is unable properly to perform the test)." L0111: RTRUE L0112: JE Ge9,#06 [FALSE] L0115 STORE Gef,L00 JE Gef,#01 [FALSE] L0113 PRINT_RET "Transcripting is already on." L0113: JE Gef,#02 [FALSE] L0114 PRINT_RET "Start of a transcript of" L0114: RTRUE L0115: JE Ge9,#07 [FALSE] L0118 STORE Gef,L00 JE Gef,#01 [FALSE] L0116 PRINT_RET "Transcripting is already off." L0116: JE Gef,#02 [FALSE] L0117 PRINT_RET " End of transcript." L0117: RTRUE L0118: JE Ge9,#08 [FALSE] L0119 PRINT_RET "Score notification on." L0119: JE Ge9,#09 [FALSE] L0120 PRINT_RET "Score notification off." L0120: JE Ge9,#0a [FALSE] L0121 PRINT "You have visited: " RTRUE L0121: JE Ge9,#0b [FALSE] L0132 STORE Gef,L00 JE Gef,#01 [FALSE] L0122 PRINT_RET "Objects you have handled: " L0122: JE Gef,#02 [FALSE] L0123 PRINT_RET "None." L0123: JE Gef,#03 [FALSE] L0124 PRINT " (worn)" JUMP L0131 L0124: JE Gef,#04 [FALSE] L0125 PRINT " (held)" JUMP L0131 L0125: JE Gef,#05 [FALSE] L0126 PRINT " (given away)" JUMP L0131 L0126: JE Gef,#06 [FALSE] L0127 PRINT " (in " CALL_2N R0105 (L01) PRINT ")" JUMP L0131 L0127: JE Gef,#07 [FALSE] L0128 PRINT " (in " CALL_2N R0103 (L01) PRINT ")" JUMP L0131 L0128: JE Gef,#08 [FALSE] L0129 PRINT " (inside " CALL_2N R0103 (L01) PRINT ")" JUMP L0131 L0129: JE Gef,#09 [FALSE] L0130 PRINT " (on " CALL_2N R0103 (L01) PRINT ")" JUMP L0131 L0130: JE Gef,#0a [FALSE] L0131 PRINT " (lost)" L0131: RTRUE L0132: JE Ge9,#0c [FALSE] L0136 JZ G13 [TRUE] L0133 PRINT "In that game you scored " JUMP L0134 L0133: PRINT "You have so far scored " L0134: PRINT_NUM G0d PRINT " out of a possible " PRINT_NUM #0000 PRINT ", in " PRINT_NUM G08 PRINT " turn" JG G08,#01 [FALSE] L0135 PRINT "s" L0135: RTRUE L0136: JE Ge9,#0d [FALSE] L0143 STORE Gef,L00 JE Gef,#01 [FALSE] L0139 JZ G13 [TRUE] L0137 PRINT "The score was " JUMP L0138 L0137: PRINT "The score is " L0138: PRINT_RET "made up as follows: " L0139: JE Gef,#02 [FALSE] L0140 PRINT_RET "finding sundry items" L0140: JE Gef,#03 [FALSE] L0141 PRINT_RET "visiting various places" L0141: JE Gef,#04 [FALSE] L0142 PRINT "total (out of " PRINT_NUM #0000 PRINT_RET ")" L0142: RTRUE L0143: JE Ge9,#0e [FALSE] L0146 STORE Gef,L00 JE Gef,#01 [FALSE] L0144 PRINT_RET "You are carrying nothing." L0144: JE Gef,#02 [FALSE] L0145 PRINT "You are carrying" L0145: RTRUE L0146: JE Ge9,#0f [FALSE] L0170 STORE Gef,L00 JE Gef,#01 [FALSE] L0147 PRINT_RET "Taken." L0147: JE Gef,#02 [FALSE] L0148 PRINT_RET "You are always self-possessed." L0148: JE Gef,#03 [FALSE] L0149 PRINT "I don't suppose " CALL_2N R0103 (L01) PRINT_RET " would care for that." L0149: JE Gef,#04 [FALSE] L0152 PRINT "You'd have to get " TEST_ATTR L01,#14 [FALSE] L0150 PRINT "off " JUMP L0151 L0150: PRINT "out of " L0151: CALL_2N R0103 (L01) PRINT_RET " first." L0152: JE Gef,#05 [FALSE] L0153 PRINT "You already have " CALL_2N R0009 (L01) PRINT_RET "." L0153: JE Gef,#06 [FALSE] L0156 TEST_ATTR G2a,#1e [FALSE] L0154 PRINT "Those seem " JUMP L0155 L0154: PRINT "That seems " L0155: PRINT "to belong to " CALL_2N R0103 (L01) PRINT_RET "." L0156: JE Gef,#07 [FALSE] L0159 TEST_ATTR G2a,#1e [FALSE] L0157 PRINT "Those seem " JUMP L0158 L0157: PRINT "That seems " L0158: PRINT "to be a part of " CALL_2N R0103 (L01) PRINT_RET "." L0159: JE Gef,#08 [FALSE] L0160 CALL_2N R0012 (L01) PRINT " " CALL_2N R0011 (L01) PRINT_RET "n't available." L0160: JE Gef,#09 [FALSE] L0161 CALL_2N R0104 (L01) PRINT " " CALL_2N R0011 (L01) PRINT_RET "n't open." L0161: JE Gef,#0a [FALSE] L0164 TEST_ATTR L01,#1e [FALSE] L0162 PRINT "They're " JUMP L0163 L0162: PRINT "That's " L0163: PRINT_RET "hardly portable." L0164: JE Gef,#0b [FALSE] L0167 TEST_ATTR L01,#1e [FALSE] L0165 PRINT "They're " JUMP L0166 L0165: PRINT "That's " L0166: PRINT_RET "fixed in place." L0167: JE Gef,#0c [FALSE] L0168 PRINT_RET "You're carrying too many things already." L0168: JE Gef,#0d [FALSE] L0169 PRINT "(putting " CALL_2N R0103 (L01) PRINT " into " CALL_2N R0103 (#0000) PRINT_RET " to make room)" L0169: RTRUE L0170: JE Ge9,#10 [FALSE] L0177 STORE Gef,L00 JE Gef,#01 [FALSE] L0173 TEST_ATTR L01,#1e [FALSE] L0171 CALL_2N R0104 (L01) PRINT " are " JUMP L0172 L0171: CALL_2N R0104 (L01) PRINT " is " L0172: PRINT_RET "already here." L0173: JE Gef,#02 [FALSE] L0174 PRINT "You haven't got " CALL_2N R0009 (L01) PRINT_RET "." L0174: JE Gef,#03 [FALSE] L0175 PRINT "(first taking " CALL_2N R0103 (L01) PRINT_RET " off)" L0175: JE Gef,#04 [FALSE] L0176 PRINT_RET "Dropped." L0176: RTRUE L0177: JE Ge9,#11 [FALSE] L0185 STORE Gef,L00 JE Gef,#01 [FALSE] L0180 TEST_ATTR L01,#1e [FALSE] L0178 PRINT "They are" JUMP L0179 L0178: PRINT "It is " L0179: PRINT_RET " unfortunately closed." L0180: JE Gef,#02 [FALSE] L0183 TEST_ATTR L01,#1e [FALSE] L0181 PRINT "But they aren't" JUMP L0182 L0181: PRINT "But it isn't" L0182: PRINT_RET " there now." L0183: JE Gef,#03 [FALSE] L0184 PRINT_RET "Removed." L0184: RTRUE L0185: JE Ge9,#12 [FALSE] L0194 STORE Gef,L00 JE Gef,#01 [FALSE] L0186 PRINT "You need to be holding " CALL_2N R0103 (L01) PRINT " before you can put " CALL_2N R0010 (L01) PRINT_RET " on top of something else." L0186: JE Gef,#02 [FALSE] L0187 PRINT_RET "You can't put something on top of itself." L0187: JE Gef,#03 [FALSE] L0188 PRINT "Putting things on " CALL_2N R0103 (L01) PRINT_RET " would achieve nothing." L0188: JE Gef,#04 [FALSE] L0189 PRINT_RET "You lack the dexterity." L0189: JE Gef,#05 [FALSE] L0190 PRINT "(first taking " CALL_2N R0010 (L01) PRINT_RET " off) " L0190: JE Gef,#06 [FALSE] L0191 PRINT "There is no more room on " CALL_2N R0103 (L01) PRINT_RET "." L0191: JE Gef,#07 [FALSE] L0192 PRINT_RET "Done." L0192: JE Gef,#08 [FALSE] L0193 PRINT "You put " CALL_2N R0103 (L01) PRINT " on " CALL_2N R0103 (G2b) PRINT_RET "." L0193: RTRUE L0194: JE Ge9,#13 [FALSE] L0204 STORE Gef,L00 JE Gef,#01 [FALSE] L0195 PRINT "You need to be holding " CALL_2N R0103 (L01) PRINT " before you can put " CALL_2N R0010 (L01) PRINT_RET " into something else." L0195: JE Gef,#02 [FALSE] L0196 CALL_2N R0012 (L01) PRINT_RET " can't contain things." L0196: JE Gef,#03 [FALSE] L0197 CALL_2N R0104 (L01) PRINT " " CALL_2N R0011 (L01) PRINT_RET " closed." L0197: JE Gef,#04 [FALSE] L0198 PRINT "You'll need to take " CALL_2N R0010 (L01) PRINT_RET " off first." L0198: JE Gef,#05 [FALSE] L0199 PRINT_RET "You can't put something inside itself." L0199: JE Gef,#06 [FALSE] L0200 PRINT "(first taking " CALL_2N R0010 (L01) PRINT_RET " off) " L0200: JE Gef,#07 [FALSE] L0201 PRINT "There is no more room in " CALL_2N R0103 (L01) PRINT_RET "." L0201: JE Gef,#08 [FALSE] L0202 PRINT_RET "Done." L0202: JE Gef,#09 [FALSE] L0203 PRINT "You put " CALL_2N R0103 (L01) PRINT " into " CALL_2N R0103 (G2b) PRINT_RET "." L0203: RTRUE L0204: JE Ge9,#14 [FALSE] L0208 STORE Gef,L00 JE Gef,#01 [FALSE] L0205 CALL_2N R0104 (L01) PRINT_RET " can't contain things." L0205: JE Gef,#02 [FALSE] L0206 CALL_2N R0104 (L01) PRINT " " CALL_2N R0011 (L01) PRINT_RET " closed." L0206: JE Gef,#03 [FALSE] L0207 CALL_2N R0104 (L01) PRINT " " CALL_2N R0011 (L01) PRINT_RET " empty already." L0207: RTRUE L0208: JE Ge9,#15 [FALSE] L0214 STORE Gef,L00 JE Gef,#01 [FALSE] L0209 PRINT "You aren't holding " CALL_2N R0103 (L01) PRINT_RET "." L0209: JE Gef,#02 [FALSE] L0210 PRINT "You juggle " CALL_2N R0103 (L01) PRINT_RET " for a while, but don't achieve much." L0210: JE Gef,#03 [FALSE] L0213 CALL_2N R0104 (L01) TEST_ATTR L01,#1e [FALSE] L0211 PRINT " don't" JUMP L0212 L0211: PRINT " doesn't" L0212: PRINT_RET " seem interested." L0213: RTRUE L0214: JE Ge9,#16 [FALSE] L0217 STORE Gef,L00 JE Gef,#01 [FALSE] L0215 PRINT "You aren't holding " CALL_2N R0103 (L01) PRINT_RET "." L0215: JE Gef,#02 [FALSE] L0216 CALL_2N R0104 (L01) PRINT " " CALL_2N R0011 (L01) PRINT_RET " unimpressed." L0216: RTRUE L0217: JE Ge9,#17 [FALSE] L0235 STORE Gef,L00 JE Gef,#01 [FALSE] L0220 PRINT "But you're already " TEST_ATTR L01,#14 [FALSE] L0218 PRINT "on " JUMP L0219 L0218: PRINT "in " L0219: CALL_2N R0103 (L01) PRINT_RET "." L0220: JE Gef,#02 [FALSE] L0223 TEST_ATTR L01,#1e [FALSE] L0221 PRINT "They're" JUMP L0222 L0221: PRINT "That's" L0222: PRINT_RET " not something you can enter." L0223: JE Gef,#03 [FALSE] L0224 PRINT "You can't get into the closed " CALL_2N R0105 (L01) PRINT_RET "." L0224: JE Gef,#04 [FALSE] L0225 PRINT_RET "You can only get into something freestanding." L0225: JE Gef,#05 [FALSE] L0228 PRINT "You get " TEST_ATTR L01,#14 [FALSE] L0226 PRINT "onto " JUMP L0227 L0226: PRINT "into " L0227: CALL_2N R0103 (L01) PRINT_RET "." L0228: JE Gef,#06 [FALSE] L0231 PRINT "(getting " TEST_ATTR L01,#14 [FALSE] L0229 PRINT "off " JUMP L0230 L0229: PRINT "out of " L0230: CALL_2N R0103 (L01) PRINT_RET ")" L0231: JE Gef,#07 [FALSE] L0234 TEST_ATTR L01,#14 [FALSE] L0232 PRINT "(getting onto " CALL_2N R0103 (L01) PRINT_RET ") " L0232: TEST_ATTR L01,#04 [FALSE] L0233 PRINT "(getting into " CALL_2N R0103 (L01) PRINT_RET ") " L0233: PRINT "(entering " CALL_2N R0103 (L01) PRINT_RET ") " L0234: RTRUE L0235: JE Ge9,#18 [FALSE] L0236 PRINT "But you aren't on " CALL_2N R0103 (L01) PRINT_RET " at the moment." L0236: JE Ge9,#19 [FALSE] L0242 STORE Gef,L00 JE Gef,#01 [FALSE] L0237 PRINT_RET "But you aren't in anything at the moment." L0237: JE Gef,#02 [FALSE] L0238 PRINT "You can't get out of the closed " CALL_2N R0105 (L01) PRINT_RET "." L0238: JE Gef,#03 [FALSE] L0241 PRINT "You get " TEST_ATTR L01,#14 [FALSE] L0239 PRINT "off " JUMP L0240 L0239: PRINT "out of " L0240: CALL_2N R0103 (L01) PRINT_RET "." L0241: RTRUE L0242: JE Ge9,#1a [FALSE] L0243 PRINT_RET "You'll have to say which compass direction to go in." L0243: JE Ge9,#1b [FALSE] L0253 STORE Gef,L00 JE Gef,#01 [FALSE] L0246 PRINT "You'll have to get " TEST_ATTR L01,#14 [FALSE] L0244 PRINT "off " JUMP L0245 L0244: PRINT "out of " L0245: CALL_2N R0103 (L01) PRINT_RET " first." L0246: JE Gef,#02 [FALSE] L0247 PRINT_RET "You can't go that way." L0247: JE Gef,#03 [FALSE] L0248 PRINT "You are unable to climb " CALL_2N R0103 (L01) PRINT_RET "." L0248: JE Gef,#04 [FALSE] L0249 PRINT "You are unable to descend by " CALL_2N R0103 (L01) PRINT_RET "." L0249: JE Gef,#05 [FALSE] L0250 PRINT "You can't, since " CALL_2N R0103 (L01) PRINT " " CALL_2N R0011 (L01) PRINT_RET " in the way." L0250: JE Gef,#06 [FALSE] L0252 PRINT "You can't, since " CALL_2N R0103 (L01) TEST_ATTR L01,#1e [FALSE] L0251 PRINT_RET " lead nowhere." L0251: PRINT_RET " leads nowhere." L0252: RTRUE L0253: JE Ge9,#1c [FALSE] L0254 PRINT_RET " is now in its normal "brief" printing mode, which gives long descriptions of places never before visited and short descriptions otherwise." L0254: JE Ge9,#1d [FALSE] L0255 PRINT_RET " is now in its "verbose" mode, which always gives long descriptions of locations (even if you've been there before)." L0255: JE Ge9,#1e [FALSE] L0256 PRINT_RET " is now in its "superbrief" mode, which always gives short descriptions of locations (even if you haven't been there before)." L0256: JE Ge9,#1f [FALSE] L0270 STORE Gef,L00 JE Gef,#01 [FALSE] L0257 PRINT " (on " CALL_2N R0103 (L01) PRINT ")" JUMP L0269 L0257: JE Gef,#02 [FALSE] L0258 PRINT " (in " CALL_2N R0103 (L01) PRINT ")" JUMP L0269 L0258: JE Gef,#03 [FALSE] L0259 PRINT " (as " PRINT_OBJ L01 PRINT ")" JUMP L0269 L0259: JE Gef,#04 [FALSE] L0261 PRINT " On " CALL_2N R0103 (L01) ADD #0008,#0010 -> -(SP) ADD (SP)+,#0080 -> -(SP) ADD (SP)+,#0040 -> -(SP) ADD (SP)+,#0400 -> -(SP) ADD (SP)+,#0800 -> -(SP) GET_CHILD L01 -> -(SP) [FALSE] L0260 L0260: CALL_VN R0121 ((SP)+,(SP)+) PRINT_RET "." L0261: JE L01,G00 [TRUE] L0264 TEST_ATTR L01,#14 [FALSE] L0262 PRINT " On " JUMP L0263 L0262: PRINT " In " L0263: CALL_2N R0103 (L01) PRINT " you" JUMP L0265 L0264: PRINT " You" L0265: PRINT " can " JE L00,#05 [FALSE] L0266 PRINT "also " L0266: PRINT "see " ADD #0008,#0200 -> -(SP) ADD (SP)+,#0010 -> -(SP) ADD (SP)+,#0080 -> -(SP) ADD (SP)+,#0040 -> -(SP) ADD (SP)+,#0800 -> -(SP) GET_CHILD L01 -> -(SP) [FALSE] L0267 L0267: CALL_VN R0121 ((SP)+,(SP)+) JE L01,G00 [TRUE] L0268 PRINT_RET "." L0268: PRINT_RET " here." L0269: RTRUE L0270: JE Ge9,#20 [FALSE] L0275 STORE Gef,L00 JE Gef,#01 [FALSE] L0271 PRINT_RET "Darkness, noun. An absence of light to see by." L0271: JE Gef,#02 [FALSE] L0272 PRINT "You see nothing special about " CALL_2N R0103 (L01) PRINT_RET "." L0272: JE Gef,#03 [FALSE] L0274 CALL_2N R0104 (L01) PRINT " " CALL_2N R0011 (L01) PRINT " currently switched " TEST_ATTR L01,#0d [FALSE] L0273 PRINT_RET "on." L0273: PRINT_RET "off." L0274: RTRUE L0275: JE Ge9,#21 [FALSE] L0278 STORE Gef,L00 JE Gef,#01 [FALSE] L0276 PRINT_RET "But it's dark." L0276: JE Gef,#02 [FALSE] L0277 PRINT_RET "You find nothing of interest." L0277: RTRUE L0278: JE Ge9,#22 [FALSE] L0288 STORE Gef,L00 JE Gef,#01 [FALSE] L0279 PRINT_RET "But it's dark." L0279: JE Gef,#02 [FALSE] L0280 PRINT "There is nothing on " CALL_2N R0103 (L01) PRINT_RET "." L0280: JE Gef,#03 [FALSE] L0282 PRINT "On " CALL_2N R0103 (L01) ADD #0040,#0008 -> -(SP) ADD (SP)+,#0400 -> -(SP) ADD (SP)+,#0800 -> -(SP) GET_CHILD L01 -> -(SP) [FALSE] L0281 L0281: CALL_VN R0121 ((SP)+,(SP)+) PRINT_RET "." L0282: JE Gef,#04 [FALSE] L0283 PRINT_RET "You find nothing of interest." L0283: JE Gef,#05 [FALSE] L0284 PRINT "You can't see inside, since " CALL_2N R0103 (L01) PRINT " " CALL_2N R0011 (L01) PRINT_RET " closed." L0284: JE Gef,#06 [FALSE] L0285 CALL_2N R0104 (L01) PRINT " " CALL_2N R0011 (L01) PRINT_RET " empty." L0285: JE Gef,#07 [FALSE] L0287 PRINT "In " CALL_2N R0103 (L01) ADD #0040,#0008 -> -(SP) ADD (SP)+,#0400 -> -(SP) ADD (SP)+,#0800 -> -(SP) GET_CHILD L01 -> -(SP) [FALSE] L0286 L0286: CALL_VN R0121 ((SP)+,(SP)+) PRINT_RET "." L0287: RTRUE L0288: JE Ge9,#23 [FALSE] L0297 STORE Gef,L00 JE Gef,#01 [FALSE] L0291 TEST_ATTR L01,#1e [FALSE] L0289 PRINT "They don't " JUMP L0290 L0289: PRINT "That doesn't " L0290: PRINT_RET "seem to be something you can unlock." L0291: JE Gef,#02 [FALSE] L0292 CALL_2N R0013 (L01) PRINT_RET " unlocked at the moment." L0292: JE Gef,#03 [FALSE] L0295 TEST_ATTR L01,#1e [FALSE] L0293 PRINT "Those don't " JUMP L0294 L0293: PRINT "That doesn't " L0294: PRINT_RET "seem to fit the lock." L0295: JE Gef,#04 [FALSE] L0296 PRINT "You unlock " CALL_2N R0103 (L01) PRINT_RET "." L0296: RTRUE L0297: JE Ge9,#24 [FALSE] L0307 STORE Gef,L00 JE Gef,#01 [FALSE] L0300 TEST_ATTR L01,#1e [FALSE] L0298 PRINT "They don't " JUMP L0299 L0298: PRINT "That doesn't " L0299: PRINT_RET "seem to be something you can lock." L0300: JE Gef,#02 [FALSE] L0301 CALL_2N R0013 (L01) PRINT_RET " locked at the moment." L0301: JE Gef,#03 [FALSE] L0302 PRINT "First you'll have to close " CALL_2N R0103 (L01) PRINT_RET "." L0302: JE Gef,#04 [FALSE] L0305 TEST_ATTR L01,#1e [FALSE] L0303 PRINT "Those don't " JUMP L0304 L0303: PRINT "That doesn't " L0304: PRINT_RET "seem to fit the lock." L0305: JE Gef,#05 [FALSE] L0306 PRINT "You lock " CALL_2N R0103 (L01) PRINT_RET "." L0306: RTRUE L0307: JE Ge9,#25 [FALSE] L0311 STORE Gef,L00 JE Gef,#01 [FALSE] L0308 CALL_2N R0013 (L01) PRINT_RET " not something you can switch." L0308: JE Gef,#02 [FALSE] L0309 CALL_2N R0013 (L01) PRINT_RET " already on." L0309: JE Gef,#03 [FALSE] L0310 PRINT "You switch " CALL_2N R0103 (L01) PRINT_RET " on." L0310: RTRUE L0311: JE Ge9,#26 [FALSE] L0315 STORE Gef,L00 JE Gef,#01 [FALSE] L0312 CALL_2N R0013 (L01) PRINT_RET " not something you can switch." L0312: JE Gef,#02 [FALSE] L0313 CALL_2N R0013 (L01) PRINT_RET " already off." L0313: JE Gef,#03 [FALSE] L0314 PRINT "You switch " CALL_2N R0103 (L01) PRINT_RET " off." L0314: RTRUE L0315: JE Ge9,#27 [FALSE] L0325 STORE Gef,L00 JE Gef,#01 [FALSE] L0316 CALL_2N R0013 (L01) PRINT_RET " not something you can open." L0316: JE Gef,#02 [FALSE] L0319 TEST_ATTR L01,#1e [FALSE] L0317 PRINT "They seem " JUMP L0318 L0317: PRINT "It seems " L0318: PRINT_RET "to be locked." L0319: JE Gef,#03 [FALSE] L0320 CALL_2N R0013 (L01) PRINT_RET " already open." L0320: JE Gef,#04 [FALSE] L0323 PRINT "You open " CALL_2N R0103 (L01) PRINT ", revealing " ADD #0008,#0040 -> -(SP) ADD (SP)+,#0800 -> -(SP) GET_CHILD L01 -> -(SP) [FALSE] L0321 L0321: CALL_VS R0121 ((SP)+,(SP)+) -> -(SP) JZ (SP)+ [FALSE] L0322 PRINT_RET "nothing." L0322: PRINT_RET "." L0323: JE Gef,#05 [FALSE] L0324 PRINT "You open " CALL_2N R0103 (L01) PRINT_RET "." L0324: RTRUE L0325: JE Ge9,#28 [FALSE] L0329 STORE Gef,L00 JE Gef,#01 [FALSE] L0326 CALL_2N R0013 (L01) PRINT_RET " not something you can close." L0326: JE Gef,#02 [FALSE] L0327 CALL_2N R0013 (L01) PRINT_RET " already closed." L0327: JE Gef,#03 [FALSE] L0328 PRINT "You close " CALL_2N R0103 (L01) PRINT_RET "." L0328: RTRUE L0329: JE Ge9,#29 [FALSE] L0332 STORE Gef,L00 JE Gef,#01 [FALSE] L0330 PRINT "You're not wearing " CALL_2N R0009 (L01) PRINT_RET "." L0330: JE Gef,#02 [FALSE] L0331 PRINT "You take off " CALL_2N R0103 (L01) PRINT_RET "." L0331: RTRUE L0332: JE Ge9,#2a [FALSE] L0337 STORE Gef,L00 JE Gef,#01 [FALSE] L0333 PRINT "You can't wear " CALL_2N R0009 (L01) PRINT_RET "!" L0333: JE Gef,#02 [FALSE] L0334 PRINT "You're not holding " CALL_2N R0009 (L01) PRINT_RET "!" L0334: JE Gef,#03 [FALSE] L0335 PRINT "You're already wearing " CALL_2N R0009 (L01) PRINT_RET "!" L0335: JE Gef,#04 [FALSE] L0336 PRINT "You put on " CALL_2N R0103 (L01) PRINT_RET "." L0336: RTRUE L0337: JE Ge9,#2b [FALSE] L0340 STORE Gef,L00 JE Gef,#01 [FALSE] L0338 CALL_2N R0013 (L01) PRINT_RET " plainly inedible." L0338: JE Gef,#02 [FALSE] L0339 PRINT "You eat " CALL_2N R0103 (L01) PRINT_RET ". Not bad." L0339: RTRUE L0340: JE Ge9,#2c,#2d [FALSE] L0341 PRINT_RET "That was a rhetorical question." L0341: JE Ge9,#2e [FALSE] L0342 PRINT_RET "This dangerous act would achieve little." L0342: JE Ge9,#2f [FALSE] L0343 PRINT_RET "Nothing practical results from your prayer." L0343: JE Ge9,#30 [FALSE] L0344 PRINT_RET "The dreadful truth is, this is not a dream." L0344: JE Ge9,#31 [FALSE] L0345 PRINT_RET "That seems unnecessary." L0345: JE Ge9,#32 [FALSE] L0346 PRINT_RET "Keep your mind on the game." L0346: JE Ge9,#33 [FALSE] L0347 PRINT_RET "What a good idea." L0347: JE Ge9,#34 [FALSE] L0348 PRINT_RET "You smell nothing unexpected." L0348: JE Ge9,#35 [FALSE] L0349 PRINT_RET "You hear nothing unexpected." L0349: JE Ge9,#36 [FALSE] L0350 PRINT_RET "You taste nothing unexpected." L0350: JE Ge9,#37 [FALSE] L0354 STORE Gef,L00 JE Gef,#01 [FALSE] L0351 PRINT_RET "Keep your hands to yourself!" L0351: JE Gef,#02 [FALSE] L0352 PRINT_RET "You feel nothing unexpected." L0352: JE Gef,#03 [FALSE] L0353 PRINT_RET "If you think that'll help." L0353: RTRUE L0354: JE Ge9,#38 [FALSE] L0355 PRINT_RET "Digging would achieve nothing here." L0355: JE Ge9,#39 [FALSE] L0356 PRINT "Cutting " CALL_2N R0009 (L01) PRINT_RET " up would achieve little." L0356: JE Ge9,#3a [FALSE] L0357 PRINT_RET "You jump on the spot, fruitlessly." L0357: JE Ge9,#3b,#3c [FALSE] L0358 PRINT_RET "You would achieve nothing by this." L0358: JE Ge9,#3d [FALSE] L0359 PRINT_RET "There's nothing suitable to drink here." L0359: JE Ge9,#3e [FALSE] L0360 PRINT_RET "But there's no water here to carry." L0360: JE Ge9,#3f [FALSE] L0361 PRINT_RET "Oh, don't apologise." L0361: JE Ge9,#40 [FALSE] L0362 PRINT_RET "Real adventurers do not use such language." L0362: JE Ge9,#41 [FALSE] L0363 PRINT_RET "Quite." L0363: JE Ge9,#42 [FALSE] L0364 PRINT_RET "Violence isn't the answer to this one." L0364: JE Ge9,#43 [FALSE] L0365 PRINT_RET "There's not enough water to swim in." L0365: JE Ge9,#44 [FALSE] L0366 PRINT_RET "There's nothing sensible to swing here." L0366: JE Ge9,#45 [FALSE] L0367 PRINT "You can't usefully blow " CALL_2N R0009 (L01) PRINT_RET "." L0367: JE Ge9,#46 [FALSE] L0368 PRINT_RET "You achieve nothing by this." L0368: JE Ge9,#47 [FALSE] L0369 PRINT "No, you can't set " CALL_2N R0009 (L01) PRINT_RET "." L0369: JE Ge9,#48 [FALSE] L0370 PRINT "No, you can't set " CALL_2N R0009 (L01) PRINT_RET " to anything." L0370: JE Ge9,#49 [FALSE] L0371 PRINT_RET "You wave, feeling foolish." L0371: JE Ge9,#4a [FALSE] L0374 STORE Gef,L00 JE Gef,#01 [FALSE] L0372 PRINT "But you aren't holding " CALL_2N R0009 (L01) PRINT_RET "." L0372: JE Gef,#02 [FALSE] L0373 PRINT "You look ridiculous waving " CALL_2N R0103 (L01) PRINT_RET "." L0373: RTRUE L0374: JE Ge9,#4b,#4c,#4d [FALSE] L0381 STORE Gef,L00 JE Gef,#01 [FALSE] L0377 TEST_ATTR L01,#1e [FALSE] L0375 PRINT "Those are " JUMP L0376 L0375: PRINT "It is " L0376: PRINT_RET "fixed in place." L0377: JE Gef,#02 [FALSE] L0378 PRINT_RET "You are unable to." L0378: JE Gef,#03 [FALSE] L0379 PRINT_RET "Nothing obvious happens." L0379: JE Gef,#04 [FALSE] L0380 PRINT_RET "That would be less than courteous." L0380: RTRUE L0381: JE Ge9,#4e [FALSE] L0385 STORE Gef,L00 JE Gef,#01 [FALSE] L0382 PRINT_RET "Is that the best you can think of?" L0382: JE Gef,#02 [FALSE] L0383 PRINT_RET "That's not a direction." L0383: JE Gef,#03 [FALSE] L0384 PRINT_RET "Not that way you can't." L0384: RTRUE L0385: JE Ge9,#4f [FALSE] L0388 STORE Gef,L00 JE Gef,#01 [FALSE] L0386 PRINT_RET "Keep your hands to yourself." L0386: JE Gef,#02 [FALSE] L0387 PRINT_RET "You achieve nothing by this." L0387: RTRUE L0388: JE Ge9,#50 [FALSE] L0391 STORE Gef,L00 JE Gef,#01 [FALSE] L0389 PRINT_RET "Futile." L0389: JE Gef,#02 [FALSE] L0390 PRINT_RET "You lack the nerve when it comes to the crucial moment." L0390: RTRUE L0391: JE Ge9,#51 [FALSE] L0394 STORE Gef,L00 JE Gef,#01 [FALSE] L0392 PRINT_RET "You talk to yourself a while." L0392: JE Gef,#02 [FALSE] L0393 PRINT_RET "This provokes no reaction." L0393: RTRUE L0394: JE Ge9,#52,#53 [FALSE] L0395 PRINT_RET "There is no reply." L0395: JE Ge9,#54 [FALSE] L0396 PRINT_RET "Nothing is on sale." L0396: JE Ge9,#55 [FALSE] L0397 PRINT_RET "Your singing is abominable." L0397: JE Ge9,#56 [FALSE] L0398 PRINT_RET "I don't think much is to be achieved by that." L0398: JE Ge9,#57 [FALSE] L0399 PRINT_RET "Time passes." L0399: JE Ge9,#58 [FALSE] L0400 PRINT_RET "You aren't feeling especially drowsy." L0400: JE Ge9,#59 [FALSE] L0401 PRINT "You discover nothing of interest in " CALL_2N R0103 (L01) PRINT_RET "." L0401: RTRUE Routine R0015, 0 locals CALL_VS R0237 (#1007,#11) -> -(SP) RET_POPPED Routine R0016, 0 locals CALL_VS R0237 (#1007,#12) -> -(SP) RET_POPPED Routine R0017, 0 locals CALL_VS R0237 (#1007,#13) -> -(SP) RET_POPPED Routine R0018, 1 local JE L00,#0f [FALSE] L0001 STORE G51,#01 STORE G52,#0f RTRUE L0001: LOADB L00,#00 -> -(SP) AND (SP)+,#0f -> G51 ADD L00,#01 -> -(SP) LOADW (SP)+,#00 -> G52 RTRUE Routine R0019, 2 locals STORE L01,#00 L0001: JL L01,#20 [FALSE] L0002 STOREW #1766,L01,#0f STOREW #16e6,L01,#01 STOREW #1726,L01,#0f INC L01 JUMP L0001 L0002: LOADB L00,#01 -> -(SP) LOADB L00,#00 -> -(SP) MUL #0100,(SP)+ -> -(SP) ADD (SP)+,(SP)+ -> G4e AND G4e,#0400 -> -(SP) JZ (SP)+ [FALSE] L0003 PUSH #00 JUMP L0004 L0003: PUSH #01 L0004: PULL G4f AND G4e,#03ff -> G4e DEC L00 STORE G4a,#00 STORE L01,#00 L0005: ADD L00,#03 -> L00 LOADB L00,#00 -> -(SP) JE (SP)+,#0f [FALSE] L0006 JUMP L0008 L0006: STOREW #1766,L01,L00 LOADW #1766,L01 -> -(SP) CALL_2N R0018 ((SP)+) JE G51,#02 [TRUE] L0007 INC G4a L0007: STOREW #16e6,L01,G51 STOREW #1726,L01,G52 INC L01 JUMP L0005 L0008: ADD L00,#01 -> -(SP) RET_POPPED Routine R0020, 1 local CALL_2N R0022 (L00) RFALSE Routine R0021, 7 locals CALL_1N R0090 L0001: STORE L03,#00 L0002: JL L03,#0a [FALSE] L0003 LOADB L01,L03 -> -(SP) STOREB #1b13,L03,(SP)+ INC L03 JUMP L0002 L0003: STOREB L00,#00,#78 STOREB L01,#00,#40 CALL_2N R0237 (#1008) CALL_1N R0295 STORE Gef,#00 STORE Gec,L00 STOREB Gec,#01,#00 CALL_1N R0097 READ Gec,L01 -> Gef LOADB L01,#01 -> L02 JZ L02 [FALSE] L0004 CALL_VN R0237 (#1007,#0a) JUMP L0001 L0004: LOADW L01,#01 -> L04 JE L04,"oops","o","oops" [FALSE] L0005 JUMP L0016 L0005: JE L04,"undo","undo","undo" [FALSE] L0012 LOADB #199f,#01 -> -(SP) JE (SP)+,#01 [FALSE] L0012 JE G08,#01 [FALSE] L0006 CALL_VN R0237 (#1007,#0b) JUMP L0001 L0006: JZ G05 [FALSE] L0007 CALL_VN R0237 (#1007,#06) JUMP L0001 L0007: JE G05,#01 [FALSE] L0008 JUMP L0010 L0008: JE G06,#01 [FALSE] L0009 CALL_VN R0237 (#1007,#0c) JUMP L0001 L0009: RESTORE_UNDO -> L03 JZ L03 [FALSE] L0011 L0010: CALL_VN R0237 (#1007,#07) L0011: JUMP L0001 L0012: SAVE_UNDO -> L03 STORE G06,#00 STORE G05,#02 JE L03,#ffff [FALSE] L0013 STORE G05,#00 L0013: JZ L03 [FALSE] L0014 STORE G05,#01 L0014: JE L03,#02 [FALSE] L0015 SET_TEXT_STYLE BOLDFACE CALL_2N R0105 (G00) PRINT " " SET_TEXT_STYLE ROMAN CALL_VN R0237 (#1007,#0d) STORE G06,#01 JUMP L0001 L0015: RET L02 L0016: JZ G78 [FALSE] L0017 CALL_VN R0237 (#1007,#0e) JUMP L0001 L0017: JE L02,#01 [FALSE] L0018 CALL_VN R0237 (#1007,#0f) JUMP L0001 L0018: JG L02,#02 [FALSE] L0019 CALL_VN R0237 (#1007,#10) JUMP L0001 L0019: LOADW L01,#03 -> L05 LOADW L01,#04 -> L06 STORE L03,#00 L0020: JL L03,#0a [FALSE] L0021 LOADB #1b13,L03 -> -(SP) STOREB L01,L03,(SP)+ INC L03 JUMP L0020 L0021: MUL #02,G78 -> -(SP) SUB (SP)+,#01 -> L04 STOREW L01,L04,L05 ADD L04,#01 -> -(SP) STOREW L01,(SP)+,L06 RET L02 Routine R0022, 11 locals JE G3e,#01 [FALSE] L0003 STORE L05,#00 L0001: JL L05,#08 [FALSE] L0002 LOADW #1646,L05 -> -(SP) STOREW L00,L05,(SP)+ INC L05 JUMP L0001 L0002: STORE G3e,#00 RTRUE L0003: JE G7a,#01 [FALSE] L0004 STORE G7a,#00 TOKENISE #1926,#199f JUMP L0005 L0004: CALL_VN R0021 (#1926,#199f) L0005: STORE G33,#01 LOADB #199f,#01 -> G74 STORE G73,#01 CALL_1N R0003 TOKENISE #1926,#199f CALL_1N R0296 LOADB #199f,#01 -> G74 STORE L07,#00 STORE G76,#01 STORE G34,G12 CALL_2S R0023 (G12) -> G35 STORE G77,#00 L0006: STORE G69,#00 STORE G4e,#ffff L0007: STORE G73,G76 CALL_1S R0056 -> G75 JE G75,#ffff [FALSE] L0008 STORE G42,#01 JUMP L0077 L0008: JE G75,"g","again" [FALSE] L0009 STORE G75,"again" L0009: JE G75,"again" [FALSE] L0014 JE G34,G12 [TRUE] L0010 CALL_VN R0237 (#1007,#14) JUMP L0004 L0010: LOADB #1a9a,#01 -> -(SP) JZ (SP)+ [FALSE] L0011 CALL_VN R0237 (#1007,#15) JUMP L0004 L0011: STORE L05,#00 L0012: JL L05,#78 [FALSE] L0013 LOADB #1a9a,L05 -> -(SP) STOREB #1926,L05,(SP)+ INC L05 JUMP L0012 L0013: JUMP L0005 L0014: JE G75,"again" [TRUE] L0016 STORE L05,#00 L0015: JL L05,#78 [FALSE] L0016 LOADB #1926,L05 -> -(SP) STOREB #1a9a,L05,(SP)+ INC L05 JUMP L0015 L0016: JZ G77 [FALSE] L0021 CALL_VS R0084 (G34,#1c) -> L05 JL L05,#00 [FALSE] L0017 STORE G77,G76 SUB #00,L05 -> L05 L0017: JE L05,#01 [FALSE] L0018 STOREW L00,#00,G27 STOREW L00,#01,G2a STOREW L00,#02,G2b RTRUE L0018: JZ L05 [TRUE] L0019 STORE G75,L05 DEC G73 DEC G76 JUMP L0020 L0019: STORE G73,G76 CALL_1S R0055 -> G75 L0020: JUMP L0022 L0021: STORE G77,#00 L0022: JZ G75 [TRUE] L0023 LOADB G75,#06 -> -(SP) AND (SP)+,#01 -> -(SP) JZ (SP)+ [FALSE] L0036 L0023: STORE G73,G76 STORE G5a,#00 STORE G53,#00 CALL_VS R0029 (#06,#00,#00) -> L09 JE L09,#2710 [FALSE] L0024 JUMP L0005 L0024: JZ L09 [TRUE] L0025 STOREW L00,#00,#1b STOREW L00,#01,#01 STOREW L00,#02,L09 JUMP L0104 L0025: JE G34,G12 [FALSE] L0029 STORE L06,#02 L0026: JG L06,G74 [TRUE] L0028 CALL_1S R0055 -> L05 JE L05,"comma," [FALSE] L0027 JUMP L0030 L0027: INC L06 JUMP L0026 L0028: CALL_2S R0299 (G75) -> G75 JZ G75 [TRUE] L0029 JUMP L0036 L0029: STORE G42,#0c JUMP L0077 L0030: SUB G73,#01 -> L06 JE L06,#01 [FALSE] L0031 CALL_VN R0237 (#1007,#16) JUMP L0004 L0031: STORE G73,#01 STORE G55,#01 STORE G68,#01 CALL_VS R0029 (G12,G35,#06) -> L09 STORE G68,#00 JE L09,#2710 [FALSE] L0032 JUMP L0005 L0032: JZ L09 [FALSE] L0033 CALL_VN R0237 (#1007,#17) JUMP L0004 L0033: TEST_ATTR L09,#00 [TRUE] L0034 TEST_ATTR L09,#16 [TRUE] L0034 CALL_VN R0237 (#1007,#18,L09) JUMP L0004 L0034: JE G73,L06 [TRUE] L0035 CALL_VN R0237 (#1007,#19) JUMP L0004 L0035: CALL_2N R0071 (L09) ADD L06,#01 -> G76 STORE G34,L09 CALL_2S R0023 (L09) -> G35 JUMP L0007 L0036: LOADB G75,#06 -> -(SP) AND (SP)+,#02 -> -(SP) DIV (SP)+,#02 -> G36 JE G36,#01 [FALSE] L0037 JE G34,G12 [TRUE] L0037 STORE G42,#0c STORE G36,#00 JUMP L0077 L0037: LOADB G75,#07 -> -(SP) SUB #ff,(SP)+ -> L05 LOADW #00,#07 -> -(SP) LOADW (SP)+,L05 -> L01 LOADB L01,#00 -> -(SP) SUB (SP)+,#01 -> L03 STORE G64,#ffff STORE G65,#ffff STORE G42,#01 STORE G43,#01 ADD L01,#01 -> L04 STORE L02,#00 L0038: JG L02,L03 [TRUE] L0077 STORE L05,#00 L0039: JL L05,#20 [FALSE] L0040 STOREW #1766,L05,#0f STOREW #16e6,L05,#01 STOREW #1726,L05,#0f INC L05 JUMP L0039 L0040: CALL_2S R0019 (L04) -> L04 STORE G40,#00 STORE G4b,#00 STORE G46,#00 STORE G47,#00 STORE G39,#00 STORE G3a,#00 STOREW #15c6,#00,#00 STORE G59,#00 STORE G41,#01 ADD G76,#01 -> G73 STORE G50,#ffff STORE G5a,#00 STORE L05,#00 STORE L0a,#00 STORE G44,#00 L0041: LOADW #1766,G44 -> -(SP) JE (SP)+,#0f [TRUE] L0051 STORE G69,#00 LOADW #16e6,G44 -> -(SP) JE (SP)+,#02 [TRUE] L0042 INC L05 L0042: LOADW #16e6,G44 -> -(SP) JE (SP)+,#01 [FALSE] L0050 LOADW #1726,G44 -> -(SP) JE (SP)+,#02 [FALSE] L0043 STORE L0a,#01 L0043: LOADW #1726,G44 -> -(SP) JE (SP)+,#04,#05 [FALSE] L0050 JE L05,#01 [FALSE] L0050 INC G44 LOADW #16e6,G44 -> -(SP) JE (SP)+,#02 [FALSE] L0049 L0044: LOADW #16e6,G44 -> -(SP) JE (SP)+,#02 [FALSE] L0045 INC G44 JUMP L0044 L0045: LOADW #16e6,G44 -> -(SP) JE (SP)+,#01 [FALSE] L0049 LOADW #1726,G44 -> -(SP) JZ (SP)+ [FALSE] L0049 L0046: JG G73,G74 [TRUE] L0049 SUB G44,#01 -> -(SP) LOADW #1726,(SP)+ -> -(SP) CALL_1S R0055 -> -(SP) JE (SP)+,(SP)+ [FALSE] L0048 CALL_VS R0029 (G35,G34,#00) -> L09 JE L09,#2710 [FALSE] L0047 JUMP L0005 L0047: JL L09,#02 [TRUE] L0048 STORE G50,L09 L0048: JUMP L0046 L0049: JUMP L0051 L0050: INC G44 JUMP L0041 L0051: STORE G62,#00 JZ L0a [TRUE] L0052 JE G4a,#01 [FALSE] L0052 JE G4e,#0f [FALSE] L0052 STORE G62,#01 L0052: STORE G40,#00 STORE G4b,#00 STORE G46,#00 STORE G47,#00 STORE G39,#00 STORE G3a,#00 STOREW #15c6,#00,#00 STORE G41,#01 ADD G76,#01 -> G73 STORE G44,#01 L0053: STOREW #1666,G44,#ffff STORE G69,#00 SUB G44,#01 -> -(SP) LOADW #1766,(SP)+ -> L08 LOADW #1766,G44 -> G55 JE L08,#0f [TRUE] L0056 STORE G68,#00 SUB G44,#01 -> -(SP) CALL_VS R0028 (L00,(SP)+) -> L09 STORE G68,#00 JE L09,#2710 [FALSE] L0054 JUMP L0005 L0054: JZ L09 [FALSE] L0055 JUMP L0073 L0055: JUMP L0072 L0056: JG G73,G74 [TRUE] L0061 CALL_1S R0055 -> L09 JE L09,"then","then","then" [TRUE] L0057 JE L09,"comma," [FALSE] L0058 L0057: STORE G7a,#01 SUB G73,#01 -> G7b JUMP L0061 L0058: STORE L0a,#00 L0059: JL L0a,#20 [FALSE] L0060 LOADW #1666,L0a -> -(SP) STOREW #16a6,L0a,(SP)+ INC L0a JUMP L0059 L0060: STORE G45,G44 STORE G41,#02 JUMP L0073 L0061: JL G46,#01 [TRUE] L0062 LOADW L00,#02 -> -(SP) JZ (SP)+ [FALSE] L0062 LOADW L00,#03 -> -(SP) CALL_2S R0031 ((SP)+) -> L09 JZ L09 [TRUE] L0062 STORE G41,L09 JUMP L0073 L0062: JL G46,#02 [TRUE] L0063 LOADW L00,#03 -> -(SP) JZ (SP)+ [FALSE] L0063 LOADW L00,#02 -> -(SP) CALL_2S R0031 ((SP)+) -> L09 JZ L09 [TRUE] L0063 STORE G41,L09 JUMP L0073 L0063: JE G62,#02 [FALSE] L0064 LOADW L00,#02 -> -(SP) JE (SP)+,G34 [FALSE] L0064 STORE G42,#11 JUMP L0077 L0064: STORE G78,#00 JZ G4b [TRUE] L0065 PRINT "(" CALL_2N R0035 (G4b) PRINT ") " L0065: STOREW L00,#00,G4e STOREW L00,#01,G46 JZ G4f [TRUE] L0066 JE G46,#02 [FALSE] L0066 LOADW L00,#02 -> L05 LOADW L00,#03 -> -(SP) STOREW L00,#02,(SP)+ STOREW L00,#03,L05 JE G47,#02 [FALSE] L0066 STORE L05,G48 STORE G48,G49 STORE G49,L05 L0066: JG G46,#00 [FALSE] L0067 LOADW L00,#02 -> -(SP) JL (SP)+,#02 [TRUE] L0067 LOADW L00,#02 -> -(SP) CALL_2N R0071 ((SP)+) L0067: JZ G40 [TRUE] L0070 JE G34,G12 [FALSE] L0070 STORE G3e,#01 STORE L05,#00 L0068: JL L05,#08 [FALSE] L0069 LOADW L00,L05 -> -(SP) STOREW #1646,L05,(SP)+ INC L05 JUMP L0068 L0069: STOREW L00,#00,#0f STOREW L00,#01,#01 STOREW L00,#02,G40 CALL_VN R0237 (#1007,#1a,G40) L0070: JE G7a,#01 [FALSE] L0071 STORE G73,G7b JUMP L0104 L0071: RTRUE L0072: INC G44 JUMP L0053 L0073: JG G41,G42 [FALSE] L0074 STORE G42,G41 L0074: JE G41,#12 [TRUE] L0075 JG G41,G43 [FALSE] L0075 STORE G43,G41 L0075: JE G62,#02 [FALSE] L0076 JE G41,#11 [FALSE] L0076 JUMP L0077 L0076: INC L02 JUMP L0038 L0077: STORE G41,G42 JE G34,G12 [TRUE] L0080 JG G77,#00 [FALSE] L0078 STORE G76,G77 JUMP L0006 L0078: STORE G73,G76 CALL_1S R0055 -> G39 JE G39,"comma," [FALSE] L0079 CALL_1S R0055 -> G39 INC G76 L0079: CALL_2S R0059 (G76) -> G3a STOREW L00,#00,#1009 STOREW L00,#01,#02 STOREW L00,#02,#01 STORE G48,G39 STOREW L00,#03,G34 STORE G3c,G76 SUB G74,G3c -> -(SP) ADD (SP)+,#01 -> G3d RTRUE L0080: CALL_2S R0301 (G41) -> -(SP) JZ (SP)+ [TRUE] L0081 JUMP L0004 L0081: STORE G64,G66 STORE G65,G67 JE G41,#01 [FALSE] L0082 CALL_VN R0237 (#1007,#1b) STORE G78,#01 L0082: JE G41,#02 [FALSE] L0085 CALL_VN R0237 (#1007,#1c) STORE L0a,#00 L0083: JL L0a,#20 [FALSE] L0084 LOADW #16a6,L0a -> -(SP) STOREW #1666,L0a,(SP)+ INC L0a JUMP L0083 L0084: STORE G44,G45 CALL_2N R0035 (#00) PRINT ". " L0085: JE G41,#03 [FALSE] L0086 CALL_VN R0237 (#1007,#1d) L0086: JE G41,#04 [FALSE] L0087 CALL_VN R0237 (#1007,#1e) STORE G78,G79 L0087: JE G41,#05 [FALSE] L0088 CALL_VN R0237 (#1007,#1f) L0088: JE G41,#06 [FALSE] L0089 CALL_VN R0237 (#1007,#20) STORE G78,G79 L0089: JE G41,#07 [FALSE] L0090 CALL_VN R0237 (#1007,#21) L0090: JE G41,#08 [FALSE] L0091 CALL_VN R0237 (#1007,#22) L0091: JE G41,#09 [FALSE] L0092 CALL_VN R0237 (#1007,#23) L0092: JE G41,#0a [FALSE] L0093 CALL_VN R0237 (#1007,#24) L0093: JE G41,#0b [FALSE] L0094 CALL_VN R0237 (#1007,#25) L0094: JE G41,#0c [FALSE] L0095 CALL_VN R0237 (#1007,#26) L0095: JE G41,#0d [FALSE] L0096 CALL_VN R0237 (#1007,#27) L0096: JE G41,#0e [FALSE] L0098 JE G65,#ffff [FALSE] L0097 CALL_VN R0237 (#1007,#23) JUMP L0098 L0097: CALL_VN R0237 (#1007,#28) L0098: JE G41,#0f [FALSE] L0099 CALL_VN R0237 (#1007,#29) L0099: JE G41,#10 [FALSE] L0100 CALL_VN R0237 (#1007,#2a,G58) L0100: JE G41,#11 [FALSE] L0102 JE G57,#64 [FALSE] L0101 CALL_VN R0237 (#1007,#2b) JUMP L0102 L0101: CALL_VN R0237 (#1007,#2c) L0102: JE G41,#12 [FALSE] L0103 STORE G6b,#03 CALL_1S G6a -> -(SP) JE (SP)+,#ffff [FALSE] L0103 STORE G42,G43 JUMP L0077 L0103: JUMP L0004 L0104: JG G73,G74 [TRUE] RTRUE CALL_1S R0055 -> L05 JE L05,"then","then","then" [TRUE] L0105 JE L05,"comma," [FALSE] L0109 L0105: JG G73,G74 [FALSE] L0106 STORE G7a,#00 RTRUE L0106: CALL_2S R0057 (G76) -> L05 CALL_2S R0057 (G73) -> L06 L0107: JL L05,L06 [FALSE] L0108 STOREB L05,#00,#20 INC L05 JUMP L0107 L0108: TOKENISE #1926,#199f STORE G7a,#01 RTRUE L0109: STORE G42,#02 JUMP L0077 Routine R0023, 2 locals GET_PARENT L00 -> L01 L0001: GET_PARENT L01 -> -(SP) JZ (SP)+ [TRUE] L0003 TEST_ATTR L01,#17 [TRUE] L0002 TEST_ATTR L01,#14 [TRUE] L0002 TEST_ATTR L01,#04 [FALSE] L0003 TEST_ATTR L01,#0e [FALSE] L0003 L0002: GET_PARENT L01 -> L01 JUMP L0001 L0003: JE L00,G12 [FALSE] L0004 JE G00,#13 [FALSE] L0004 RET #13 L0004: RET L01 Routine R0024, 0 locals STORE G5a,#00 STORE G5b,#00 STORE G5c,#00 STORE G5d,#00 STORE G60,#00 STORE G5e,#00 STORE G5f,#0fff RTRUE Routine R0025, 7 locals CALL_1N R0024 JG G73,G74 [FALSE] L0001 RFALSE L0001: STORE L03,#01 L0002: JZ L03 [TRUE] L0018 CALL_1S R0056 -> L01 STORE L03,#00 STORE L02,#01 JUMP L0004 L0003: ADD L02,#04 -> L02 L0004: LOADW #1b4f,#00 -> -(SP) JG L02,(SP)+ [TRUE] L0011 LOADW #1b4f,L02 -> -(SP) JE L01,(SP)+ [FALSE] L0010 STORE L03,#01 ADD L02,#02 -> -(SP) LOADW #1b4f,(SP)+ -> L05 JE L05,#0101 [TRUE] L0005 STORE G5a,#01 L0005: STORE G60,#01 ADD L02,#01 -> -(SP) LOADW #1b4f,(SP)+ -> -(SP) AND G5f,(SP)+ -> G5f JE L05,#0100 [FALSE] L0008 ADD L02,#03 -> -(SP) LOADW #1b4f,(SP)+ -> L04 STORE Gef,L04 JE Gef,#00 [FALSE] L0006 OR G5b,#02 -> G5b JUMP L0008 L0006: JE Gef,#01 [FALSE] L0007 OR G5b,#04 -> G5b JUMP L0008 L0007: CALL_2S R0068 (L04) -> G5e JE G5e,#ffff [FALSE] L0008 STORE G5e,#15 L0008: JE L05,#09 [FALSE] L0009 OR G5b,#10 -> G5b L0009: JE L05,#fff7 [FALSE] L0010 OR G5b,#20 -> G5b L0010: JUMP L0003 L0011: JE L01,"another","other","other" [FALSE] L0012 STORE G5a,#01 STORE L03,#01 OR G5b,#01 -> G5b L0012: JE L01,"all","each","every" [TRUE] L0013 JE L01,"everythin","both" [FALSE] L0015 L0013: STORE G5a,#01 STORE L03,#01 STORE G5c,#64 JE G62,#01 [FALSE] L0014 STORE G62,#02 L0014: OR G5b,#08 -> G5b L0015: JZ G61 [TRUE] L0016 CALL_2S R0107 (L01) -> L06 JG L06,#01 [FALSE] L0016 STORE G5d,#01 STORE G5a,#01 STORE L03,#01 STORE G5c,L06 OR G5b,#08 -> G5b L0016: JE L03,#01 [FALSE] L0017 CALL_1S R0056 -> -(SP) PULL Gef JE Gef,"of","of","of" [TRUE] L0017 JE Gef,"of" [TRUE] L0017 DEC G73 L0017: JUMP L0002 L0018: DEC G73 JG G5c,#00 [FALSE] L0019 JZ L00 [FALSE] L0019 RET #07 L0019: RFALSE Routine R0026, 1 local TEST_ATTR L00,#00 [TRUE] RTRUE TEST_ATTR L00,#16 [FALSE] RFALSE JE G4e,#53,#52,#51 [TRUE] RTRUE JE G4e,#5a [TRUE] RTRUE RFALSE Routine R0027, 2 locals LOADW #1726,L01 -> -(SP) JE (SP)+,L00 [FALSE] L0001 RET L00 L0001: LOADW #1766,L01 -> -(SP) LOADB (SP)+,#00 -> -(SP) AND (SP)+,#20 -> -(SP) JZ (SP)+ [FALSE] L0002 RET #ffff L0002: LOADW #1726,L01 -> -(SP) JE (SP)+,L00 [FALSE] L0003 RET L00 L0003: INC L01 LOADW #1766,L01 -> -(SP) LOADB (SP)+,#00 -> -(SP) AND (SP)+,#10 -> -(SP) JZ (SP)+ [FALSE] L0002 RET #ffff Routine R0028, 13 locals LOADW #1766,L01 -> L02 CALL_2N R0018 (L02) STORE G53,#00 STORE G33,#01 STORE Gef,G51 JE Gef,#01 [FALSE] L0020 STORE Gef,G52 JE Gef,#07 [FALSE] L0004 CALL_2S R0059 (G73) -> L03 CALL_1S R0055 -> G39 JE L03,#fc18 [FALSE] L0001 STORE L03,G39 L0001: STORE G3a,L03 JZ G47 [FALSE] L0002 STORE G48,L03 JUMP L0003 L0002: STORE G49,L03 L0003: INC G47 STORE L09,#01 JUMP L0077 L0004: JE Gef,#08 [FALSE] L0008 PUSH G73 INC G73 CALL_2S R0059 ((SP)+) -> L03 JE L03,#fc18 [FALSE] L0005 STORE G41,#03 RFALSE L0005: PUSH G47 INC G47 JZ (SP)+ [FALSE] L0006 STORE G48,L03 JUMP L0007 L0006: STORE G49,L03 L0007: STORE L09,#01 JUMP L0077 L0008: JE Gef,#06 [FALSE] L0011 JE G4e,#52,#53,#5a [TRUE] L0009 JE G4e,#51 [FALSE] L0010 L0009: STORE G68,#01 L0010: JUMP L0019 L0011: JE Gef,#09 [FALSE] L0019 STORE G3c,G73 ADD L01,#01 -> -(SP) LOADW #16e6,(SP)+ -> -(SP) JE (SP)+,#02 [TRUE] L0012 ADD L01,#01 -> -(SP) LOADW #1766,(SP)+ -> -(SP) JE (SP)+,#0f [TRUE] L0012 CALL_2N R0112 (#0d) L0012: CALL_1S R0056 -> L04 JE L04,#ffff [TRUE] L0013 ADD L01,#01 -> -(SP) CALL_VS R0027 (L04,(SP)+) -> -(SP) JE (SP)+,#ffff [TRUE] L0012 L0013: DEC G73 SUB G73,G3c -> G3d JZ G3d [FALSE] L0014 RTRUE L0014: JE G4e,#53,#52,#51 [FALSE] L0018 STORE L04,G73 STORE G73,G3c CALL_1S R0055 -> G3b JE G3b,"the" [FALSE] L0015 JG G3d,#01 [FALSE] L0015 CALL_1S R0055 -> G3b L0015: STORE G73,L04 PUSH G47 INC G47 JZ (SP)+ [FALSE] L0016 STORE G48,G3b JUMP L0017 L0016: STORE G49,G3b L0017: STORE L09,#01 JUMP L0077 L0018: RTRUE L0019: JUMP L0039 L0020: JE Gef,#02 [FALSE] L0027 LOADB L02,#00 -> -(SP) AND (SP)+,#10 -> -(SP) JZ (SP)+ [TRUE] L0021 RTRUE L0021: JG G73,G74 [FALSE] L0024 JZ G4b [FALSE] L0022 JL G46,G4a [FALSE] L0022 STORE G4b,G44 STORE G4c,L02 CALL_2S R0062 (G52) -> -(SP) ADD #2710,(SP)+ -> -(SP) STOREW #1666,G44,(SP)+ L0022: JZ G4b [FALSE] L0023 RFALSE L0023: CALL_2S R0062 (G52) -> -(SP) ADD #2710,(SP)+ -> -(SP) STOREW #1666,G44,(SP)+ RTRUE L0024: CALL_1S R0055 -> L04 CALL_2S R0062 (L04) -> -(SP) ADD #2710,(SP)+ -> -(SP) STOREW #1666,G44,(SP)+ JE L04,G52 [FALSE] L0025 RTRUE L0025: CALL_VS R0027 (L04,L01) -> -(SP) JE (SP)+,#ffff [TRUE] L0026 RTRUE L0026: RFALSE L0027: JE Gef,#06 [FALSE] L0034 CALL_1S G52 -> L03 JL L03,#ff38 [FALSE] L0028 ADD L03,#0100 -> G52 JUMP L0039 L0028: JL L03,#00 [TRUE] RFALSE JZ L03 [FALSE] L0029 DEC G4a RTRUE L0029: JE L03,#01 [FALSE] L0032 JZ G47 [FALSE] L0030 STORE G48,G3b JUMP L0031 L0030: STORE G49,G3b L0031: INC G47 L0032: JE L03,#2710 [FALSE] L0033 RET L03 L0033: STORE L09,L03 JUMP L0077 L0034: JE Gef,#05 [FALSE] L0037 STORE G69,G52 STORE G6b,#01 CALL_1S G69 -> L03 JE L03,#01 [FALSE] L0035 STORE G52,#02 JUMP L0036 L0035: STORE G52,#00 L0036: JUMP L0039 L0037: JE Gef,#04 [FALSE] L0038 ADD #01,G52 -> G53 STORE G52,#00 JUMP L0039 L0038: JE Gef,#03 [FALSE] L0039 STORE G53,G52 STORE G52,#00 L0039: STORE L02,G52 STORE L0c,#00 JE L02,#02,#03,#04 [TRUE] L0040 JE L02,#05 [FALSE] L0041 L0040: STORE L0c,#01 L0041: STORE L0b,#00 STORE L08,#01 STORE G4d,#00 L0042: CALL_1S R0055 -> L04 DEC G73 STORE G64,#ffff STORE G65,#ffff CALL_2S R0068 (L04) -> L03 JZ L03 [TRUE] L0047 STORE G64,L04 STORE G65,L03 JE L03,#ffff [FALSE] L0047 STORE L03,#01 JUMP L0044 L0043: ADD L03,#04 -> L03 L0044: JG L03,#1b4f [TRUE] L0046 LOADW #1b4f,L03 -> -(SP) JE L04,(SP)+ [FALSE] L0045 JUMP L0047 L0045: JUMP L0043 L0046: STORE G66,G64 STORE G67,G65 STORE G41,#09 RFALSE L0047: JE L04,"me","myself","self" [FALSE] L0048 STORE G64,L04 STORE G65,G12 L0048: STORE G61,#01 STORE L0a,G73 L0049: CALL_2S R0025 (L0c) -> L03 JZ L03 [TRUE] L0050 STORE G41,L03 RFALSE L0050: STORE G78,G73 JE L02,#01 [TRUE] L0065 LOADW #15c6,#00 -> L05 CALL_VS R0029 (G35,G34,L02) -> L03 JE L03,#2710 [FALSE] L0051 RET L03 L0051: JZ L03 [FALSE] L0053 JZ G60 [TRUE] L0052 CALL_1N R0024 STORE G73,L0a JUMP L0050 L0052: CALL_1S R0036 -> G41 JUMP L0080 L0053: JE L03,#01 [FALSE] L0059 JZ L0b [FALSE] L0054 STORE L0b,#01 JUMP L0058 L0054: LOADW #15c6,#00 -> L07 STOREW #15c6,#00,L05 ADD L05,#01 -> L06 L0055: JG L06,L07 [TRUE] L0058 JZ L08 [TRUE] L0056 LOADW #15c6,L06 -> -(SP) CALL_2N R0037 ((SP)+) JUMP L0057 L0056: LOADW #15c6,L06 -> -(SP) CALL_2N R0038 ((SP)+) L0057: INC L06 JUMP L0055 L0058: JUMP L0064 L0059: JZ G71 [FALSE] L0060 JZ G60 [TRUE] L0060 CALL_1N R0024 STORE G73,L0a JUMP L0050 L0060: JE L02,#06 [FALSE] L0061 CALL_2S R0026 (L03) -> -(SP) JZ (SP)+ [FALSE] L0061 STORE G41,#0b JUMP L0080 L0061: JZ L0b [FALSE] L0062 STORE L09,L03 JUMP L0064 L0062: JZ L08 [TRUE] L0063 CALL_2N R0037 (L03) JUMP L0064 L0063: CALL_2N R0038 (L03) L0064: JUMP L0071 L0065: CALL_VS R0029 (G34,G35,L02) -> L03 JE L03,#2710 [FALSE] L0066 RET L03 L0066: JZ L03 [FALSE] L0068 JZ G60 [TRUE] L0067 CALL_1N R0024 STORE G73,L0a JUMP L0050 L0067: CALL_1S R0036 -> G41 RET L03 L0068: GET_PARENT L03 -> L04 JE L04,G34 [TRUE] L0070 JE G3e,#01 [FALSE] L0069 STORE G79,G78 STORE G41,#06 JUMP L0080 L0069: STORE G40,L03 L0070: STORE L09,L03 L0071: ADD G78,G71 -> G73 CALL_1S R0055 -> L04 JE L04,"and","and","and" [TRUE] L0072 JE L04,"but","except","but" [TRUE] L0072 JE L04,"comma," [FALSE] L0076 L0072: JZ L0c [FALSE] L0073 STORE G41,#07 JUMP L0080 L0073: JE L04,"but","except","but" [FALSE] L0074 SUB #01,L08 -> L08 L0074: JZ L0b [FALSE] L0075 STOREW #15c6,#00,#01 STOREW #15c6,#01,L09 STORE L0b,#01 L0075: STORE G4d,#01 STORE G4b,#00 JUMP L0042 L0076: DEC G73 L0077: JZ L0b [TRUE] L0078 STORE L09,#00 STORE G59,L02 JUMP L0079 L0078: JE G5a,#01 [FALSE] L0079 AND G5b,#08 -> -(SP) JZ (SP)+ [TRUE] L0079 JL G5c,#64 [FALSE] L0079 JG G5c,#01 [FALSE] L0079 STORE G58,#01 STORE G57,G5c STORE G41,#10 JUMP L0080 L0079: ADD G46,#02 -> -(SP) STOREW L00,(SP)+,L09 INC G46 STOREW #1666,G44,L09 RTRUE L0080: JZ G61 [TRUE] L0081 JE G5d,#01 [FALSE] L0081 STORE G61,#00 STORE G73,L0a JUMP L0049 L0081: RFALSE Routine R0029, 10 locals STORE G71,#00 STORE G6f,#00 STORE G72,G73 STORE G6e,#00 CALL_VN R0042 (L00,L01,L02) ADD G72,G71 -> G73 JZ G6f [FALSE] L0001 INC G73 RFALSE L0001: JG G72,G74 [TRUE] L0003 JE G6f,#01 [FALSE] L0002 LOADW #17a6,#00 -> L04 RET L04 L0002: JG G73,G74 [TRUE] L0003 CALL_1S R0055 -> L04 DEC G73 JE L04,"and","and","and" [TRUE] L0003 JE L04,"comma,","then","then" [TRUE] L0003 JE L04,"then","but","except" [TRUE] L0003 JE L04,"but" [TRUE] L0003 JE G55,#0f [TRUE] RFALSE L0003: STORE G70,#00 JE G6f,#01 [FALSE] L0004 LOADW #17a6,#00 -> L04 L0004: JG G6f,#01 [FALSE] L0005 CALL_2S R0030 (L02) -> L04 JE L04,#ffff [TRUE] RFALSE JE L04,#01 [TRUE] RTRUE L0005: JZ L04 [TRUE] L0008 JZ G4d [TRUE] L0006 RET L04 L0006: JZ G4b [FALSE] L0007 STORE G4b,G44 L0007: STOREW #1666,G44,L04 RET L04 L0008: JG G72,G74 [FALSE] L0009 JUMP L0033 L0009: JE L02,#06 [FALSE] L0010 CALL_VN R0237 (#1007,#2d) JUMP L0011 L0010: CALL_VN R0237 (#1007,#2e) L0011: STORE L05,G70 STORE L09,#00 STORE L04,#01 L0012: JG L04,G70 [TRUE] L0019 L0013: LOADW #1826,L09 -> -(SP) JE (SP)+,L04 [TRUE] L0014 SUB #00,L04 -> -(SP) LOADW #1826,L09 -> -(SP) JE (SP)+,(SP)+ [TRUE] L0014 INC L09 JUMP L0013 L0014: LOADW #17a6,L09 -> L06 LOADW #1826,L09 -> -(SP) JG (SP)+,#00 [FALSE] L0015 CALL_2N R0103 (L06) JUMP L0016 L0015: CALL_2N R0102 (L06) L0016: SUB L05,#01 -> -(SP) JL L04,(SP)+ [FALSE] L0017 PRINT ", " L0017: SUB L05,#01 -> -(SP) JE L04,(SP)+ [FALSE] L0018 PRINT_PADDR S034 L0018: INC L04 JUMP L0012 L0019: PRINT "? " L0020: CALL_VS R0021 (#19e0,#1a59) -> L08 LOADW #1a59,#01 -> L03 JE L03,"all","each","every" [TRUE] L0021 JE L03,"everythin","both" [FALSE] L0026 L0021: JE L02,#02,#03,#04 [TRUE] L0022 JE L02,#05 [FALSE] L0025 L0022: LOADW #15c6,#00 -> L07 STORE L04,#00 L0023: JL L04,G6f [FALSE] L0024 ADD L07,L04 -> -(SP) JL (SP)+,#3f [FALSE] L0024 LOADW #17a6,L04 -> L06 ADD L04,#01 -> -(SP) ADD (SP)+,L07 -> -(SP) STOREW #15c6,(SP)+,L06 INC L04 JUMP L0023 L0024: ADD L04,L07 -> -(SP) STOREW #15c6,#00,(SP)+ RTRUE L0025: CALL_VN R0237 (#1007,#2f) JUMP L0020 L0026: JZ L03 [TRUE] L0027 LOADB L03,#06 -> L05 AND L05,#01 -> -(SP) JE #00,(SP)+ [TRUE] L0027 CALL_VN R0064 (#1926,#19e0) RET #2710 L0027: CALL_2S R0057 (G72) -> -(SP) SUB (SP)+,#1926 -> L06 LOADB #19e0,#01 -> -(SP) ADD (SP)+,#01 -> L07 LOADB #1926,#00 -> -(SP) ADD #1926,(SP)+ -> -(SP) SUB (SP)+,#01 -> L05 L0028: ADD #1926,L06 -> -(SP) ADD (SP)+,L07 -> -(SP) JL L05,(SP)+ [TRUE] L0029 SUB L05,L07 -> -(SP) LOADB #00,(SP)+ -> -(SP) STOREB L05,#00,(SP)+ DEC L05 JUMP L0028 L0029: STORE L04,#00 L0030: JL L04,L07 [FALSE] L0031 ADD #02,L04 -> -(SP) LOADB #19e0,(SP)+ -> -(SP) ADD L06,L04 -> -(SP) STOREB #1926,(SP)+,(SP)+ INC L04 JUMP L0030 L0031: ADD L06,L07 -> -(SP) SUB (SP)+,#01 -> -(SP) STOREB #1926,(SP)+,#20 LOADB #1926,#01 -> -(SP) ADD (SP)+,L07 -> -(SP) STOREB #1926,#01,(SP)+ LOADB #1926,#00 -> -(SP) SUB (SP)+,#01 -> -(SP) LOADB #1926,#01 -> -(SP) JL (SP)+,(SP)+ [TRUE] L0032 LOADB #1926,#00 -> -(SP) STOREB #1926,#01,(SP)+ L0032: RET #2710 L0033: JE L02,#06 [FALSE] L0034 CALL_VN R0237 (#1007,#30) JUMP L0035 L0034: CALL_VN R0237 (#1007,#31) L0035: CALL_VS R0021 (#19e0,#1a59) -> L08 LOADW #1a59,#01 -> L03 JZ L03 [TRUE] L0036 LOADB L03,#06 -> L05 AND L05,#01 -> -(SP) JE #00,(SP)+ [TRUE] L0036 CALL_VN R0064 (#1926,#19e0) RET #2710 L0036: JZ G4b [TRUE] L0047 STORE L05,G4b L0037: JL L05,G44 [FALSE] L0047 LOADB #1926,#01 -> -(SP) ADD #02,(SP)+ -> L04 STORE Gef,#1926 STORE Gee,#01 LOADB Gef,Gee -> Ged INC Ged STOREB Gef,Gee,Ged PUSH L04 INC L04 STOREB #1926,(SP)+,#20 STOREW #1a59,#01,#00 LOADW #1666,L05 -> -(SP) JL (SP)+,#02 [TRUE] L0042 LOADW #1666,L05 -> -(SP) JL (SP)+,#2710 [FALSE] L0042 LOADW #1666,L05 -> -(SP) CALL_2N R0071 ((SP)+) STORE L06,#01 JUMP L0039 L0038: ADD L06,#03 -> L06 L0039: LOADW #1b35,#00 -> -(SP) JG L06,(SP)+ [TRUE] L0041 ADD L06,#02 -> -(SP) LOADW #1b35,(SP)+ -> -(SP) LOADW #1666,L05 -> -(SP) JE (SP)+,(SP)+ [FALSE] L0040 LOADW #1b35,L06 -> -(SP) STOREW #1a59,#01,(SP)+ JUMP L0041 L0040: JUMP L0038 L0041: JUMP L0043 L0042: LOADW #1666,L05 -> -(SP) SUB (SP)+,#2710 -> -(SP) CALL_2S R0063 ((SP)+) -> -(SP) STOREW #1a59,#01,(SP)+ L0043: LOADW #1a59,#01 -> -(SP) JZ (SP)+ [TRUE] L0046 ADD #1926,L04 -> L06 OUTPUT_STREAM REDIRECT_ENABLE,L06 LOADW #1a59,#01 -> -(SP) PRINT_ADDR (SP)+ OUTPUT_STREAM #fffd LOADW L06,#00 -> L06 STORE L07,L04 L0044: ADD L04,L06 -> -(SP) JL L07,(SP)+ [FALSE] L0045 ADD L07,#02 -> -(SP) LOADB #1926,(SP)+ -> -(SP) STOREB #1926,L07,(SP)+ INC L07 JUMP L0044 L0045: ADD L04,L06 -> L04 SUB L04,#02 -> -(SP) STOREB #1926,#01,(SP)+ L0046: INC L05 JUMP L0037 L0047: LOADB #1926,#01 -> -(SP) ADD #02,(SP)+ -> L04 STORE Gef,#1926 STORE Gee,#01 LOADB Gef,Gee -> Ged INC Ged STOREB Gef,Gee,Ged PUSH L04 INC L04 STOREB #1926,(SP)+,#20 STORE L05,#00 JUMP L0049 L0048: INC L04 INC L05 L0049: LOADB #19e0,#01 -> -(SP) JL L05,(SP)+ [FALSE] L0051 ADD L05,#02 -> -(SP) LOADB #19e0,(SP)+ -> -(SP) STOREB #1926,L04,(SP)+ STORE Gef,#1926 STORE Gee,#01 LOADB Gef,Gee -> Ged INC Ged STOREB Gef,Gee,Ged LOADB #1926,#00 -> -(SP) LOADB #1926,#01 -> -(SP) JE (SP)+,(SP)+ [FALSE] L0050 JUMP L0051 L0050: JUMP L0048 L0051: RET #2710 Routine R0030, 10 locals SUB G6f,#01 -> L02 STORE L04,#00 LOADW #17a6,#00 -> L05 STORE L01,#00 L0001: JG L01,L02 [TRUE] L0014 LOADW #17a6,L01 -> L06 STOREW #18a6,L01,L04 STORE L07,L06 L0002: GET_PARENT L07 -> L07 JE L07,G35,G34,#00 [FALSE] L0002 JZ L00 [FALSE] L0004 JE L07,G35 [FALSE] L0004 JZ G53 [TRUE] L0003 CALL_2S R0040 (L06) -> -(SP) JE (SP)+,#01 [FALSE] L0004 L0003: INC L04 STORE L05,L06 L0004: JE L00,#01 [FALSE] L0005 GET_PARENT L06 -> -(SP) JE (SP)+,G34 [FALSE] L0005 INC L04 STORE L05,L06 L0005: JE L00,#02 [FALSE] L0006 JE L07,G35 [FALSE] L0006 INC L04 STORE L05,L06 L0006: JE L00,#03 [FALSE] L0007 GET_PARENT L06 -> -(SP) JE (SP)+,G34 [FALSE] L0007 INC L04 STORE L05,L06 L0007: JE L00,#04,#05 [FALSE] L0012 JE G50,#ffff [FALSE] L0010 JE L00,#04 [FALSE] L0008 INC L04 STORE L05,L06 L0008: JE L00,#05 [FALSE] L0009 GET_PARENT L06 -> -(SP) JE (SP)+,G34 [TRUE] L0009 INC L04 STORE L05,L06 L0009: JUMP L0012 L0010: JE L00,#04 [FALSE] L0011 JE L06,G50 [TRUE] L0011 INC L04 STORE L05,L06 L0011: JE L00,#05 [FALSE] L0012 JIN L06,G50 [FALSE] L0012 INC L04 STORE L05,L06 L0012: JE L00,#06 [FALSE] L0013 CALL_2S R0026 (L06) -> -(SP) JE (SP)+,#01 [FALSE] L0013 INC L04 STORE L05,L06 L0013: LOADW #18a6,L01 -> -(SP) SUB L04,(SP)+ -> -(SP) MUL #03e8,(SP)+ -> -(SP) STOREW #18a6,L01,(SP)+ INC L01 JUMP L0001 L0014: JE L04,#01 [FALSE] L0015 RET L05 L0015: JE L00,#06 [FALSE] L0016 JZ L04 [FALSE] L0016 LOADW #17a6,#00 -> -(SP) RET_POPPED L0016: JZ G5a [FALSE] L0017 STORE G5b,#00 L0017: CALL_1N R0032 JZ G6f [FALSE] L0018 RET #ffff L0018: JE G5a,#01 [FALSE] L0030 AND G5b,#08 -> -(SP) JZ (SP)+ [TRUE] L0030 JE L00,#02,#03,#04 [TRUE] L0019 JE L00,#05 [TRUE] L0019 STORE G41,#07 RET #ffff L0019: STORE L01,#00 LOADW #15c6,#00 -> L09 CALL_1S R0033 -> L02 JUMP L0021 L0020: CALL_1S R0033 -> L02 L0021: JE L02,#ffff [TRUE] L0028 JL L01,G5c [FALSE] L0028 ADD L01,L09 -> -(SP) JL (SP)+,#3f [FALSE] L0028 STORE L08,#00 TEST_ATTR L02,#03 [TRUE] L0022 TEST_ATTR L02,#1a [TRUE] L0022 STORE L08,#01 L0022: JE L00,#03,#04 [FALSE] L0023 GET_PARENT L02 -> -(SP) JE (SP)+,G34 [TRUE] L0023 STORE L08,#00 L0023: CALL_VS R0303 (L02,L08) -> L03 JE L03,#01 [FALSE] L0024 STORE L08,#01 JUMP L0025 L0024: JE L03,#02 [FALSE] L0025 STORE L08,#00 L0025: JE L08,#01 [FALSE] L0026 INC L01 ADD L01,L09 -> -(SP) STOREW #15c6,(SP)+,L02 JUMP L0027 L0026: STORE L01,L01 L0027: JUMP L0020 L0028: JL L01,G5c [FALSE] L0029 JL G5c,#64 [FALSE] L0029 STORE G41,#10 STORE G57,G5c LOADW #15c6,#00 -> G58 RET #ffff L0029: ADD L01,L09 -> -(SP) STOREW #15c6,#00,(SP)+ STORE G59,L00 RTRUE L0030: STORE L01,#00 L0031: JL L01,G6f [FALSE] L0032 STOREW #1826,L01,#00 INC L01 JUMP L0031 L0032: STORE L06,#01 STORE L01,#00 L0033: JL L01,G6f [FALSE] L0038 LOADW #1826,L01 -> -(SP) JZ (SP)+ [FALSE] L0037 PUSH L06 INC L06 STOREW #1826,L01,(SP)+ STORE L08,#00 ADD L01,#01 -> L02 L0034: JL L02,G6f [FALSE] L0036 LOADW #1826,L02 -> -(SP) JZ (SP)+ [FALSE] L0035 LOADW #17a6,L02 -> -(SP) LOADW #17a6,L01 -> -(SP) CALL_VS R0034 ((SP)+,(SP)+) -> -(SP) JE (SP)+,#01 [FALSE] L0035 STORE L08,#01 LOADW #1826,L01 -> -(SP) STOREW #1826,L02,(SP)+ L0035: INC L02 JUMP L0034 L0036: JE L08,#01 [FALSE] L0037 SUB #01,L06 -> -(SP) STOREW #1826,L01,(SP)+ L0037: INC L01 JUMP L0033 L0038: DEC L06 STORE G70,L06 JG L06,#01 [FALSE] L0044 JZ G5a [FALSE] L0044 STORE L02,#00 STORE L04,#00 STORE L01,#00 L0039: JL L01,G6f [FALSE] L0042 LOADW #17a6,L01 -> -(SP) CALL_VS R0303 ((SP)+,#02) -> L03 JE L03,L02 [FALSE] L0040 INC L04 L0040: JG L03,L02 [FALSE] L0041 STORE L02,L03 STORE L04,#01 LOADW #17a6,L01 -> L05 L0041: INC L01 JUMP L0039 L0042: JE L04,#01 [FALSE] L0043 RET L05 L0043: RFALSE L0044: JE L06,#01 [FALSE] L0045 STORE G4d,#01 L0045: CALL_1S R0033 -> -(SP) RET_POPPED Routine R0031, 3 locals JE G59,#04,#05 [FALSE] L0006 STORE L01,#01 STORE L02,#00 L0001: LOADW #15c6,#00 -> -(SP) JG L01,(SP)+ [TRUE] L0005 JE G59,#04 [FALSE] L0002 LOADW #15c6,L01 -> -(SP) JE (SP)+,L00 [FALSE] L0003 L0002: JE G59,#05 [FALSE] L0004 LOADW #15c6,L01 -> -(SP) JIN (SP)+,L00 [FALSE] L0004 L0003: INC L02 LOADW #15c6,L01 -> -(SP) STOREW #15c6,L02,(SP)+ L0004: INC L01 JUMP L0001 L0005: STOREW #15c6,#00,L02 L0006: JE G59,#02 [FALSE] L0014 JE G4e,#0f [FALSE] L0014 STORE L01,#01 STORE L02,#00 L0007: LOADW #15c6,#00 -> -(SP) JG L01,(SP)+ [TRUE] L0009 GET_PARENT G34 -> -(SP) LOADW #15c6,L01 -> -(SP) GET_PARENT (SP)+ -> -(SP) JE (SP)+,(SP)+ [FALSE] L0008 INC L02 L0008: INC L01 JUMP L0007 L0009: JE G62,#02 [TRUE] L0010 JG L02,#00 [FALSE] L0014 L0010: STORE L01,#01 STORE L02,#00 L0011: LOADW #15c6,#00 -> -(SP) JG L01,(SP)+ [TRUE] L0013 GET_PARENT G34 -> -(SP) LOADW #15c6,L01 -> -(SP) GET_PARENT (SP)+ -> -(SP) JE (SP)+,(SP)+ [FALSE] L0012 INC L02 LOADW #15c6,L01 -> -(SP) STOREW #15c6,L02,(SP)+ L0012: INC L01 JUMP L0011 L0013: STOREW #15c6,#00,L02 L0014: LOADW #15c6,#00 -> L01 JZ L01 [FALSE] L0015 RET #11 L0015: RFALSE Routine R0032, 8 locals AND G5b,#02 -> -(SP) JZ (SP)+ [TRUE] L0001 ADD L05,#2d -> L05 L0001: AND G5b,#04 -> -(SP) JZ (SP)+ [TRUE] L0002 ADD L05,#2d -> L05 L0002: AND G5b,#10 -> -(SP) JZ (SP)+ [TRUE] L0003 ADD L05,#2d -> L05 L0003: AND G5b,#20 -> -(SP) JZ (SP)+ [TRUE] L0004 ADD L05,#2d -> L05 L0004: JZ G5e [TRUE] L0005 ADD L05,#2d -> L05 L0005: STORE L06,#1e STORE L07,#14 JE G4e,#0f,#11 [FALSE] L0006 STORE L06,#14 STORE L07,#1e L0006: STORE L03,#00 L0007: JL L03,G6f [FALSE] L0020 LOADW #17a6,L03 -> L02 GET_PARENT L02 -> L00 STORE L01,#00 AND G5b,#02 -> -(SP) JZ (SP)+ [TRUE] L0008 JE L00,G34 [FALSE] L0008 ADD L01,#2d -> L01 L0008: AND G5b,#04 -> -(SP) JZ (SP)+ [TRUE] L0009 JE L00,G35 [FALSE] L0009 ADD L01,#2d -> L01 L0009: AND G5b,#10 -> -(SP) JZ (SP)+ [TRUE] L0010 TEST_ATTR L02,#09 [FALSE] L0010 ADD L01,#2d -> L01 L0010: AND G5b,#20 -> -(SP) JZ (SP)+ [TRUE] L0011 TEST_ATTR L02,#09 [TRUE] L0011 ADD L01,#2d -> L01 L0011: JZ G5e [TRUE] L0012 JE L00,G5e [FALSE] L0012 ADD L01,#2d -> L01 L0012: JL L01,L05 [FALSE] L0013 STOREW #17a6,L03,#ffff JUMP L0019 L0013: STORE L01,#00 TEST_ATTR L02,#03 [TRUE] L0014 STORE L01,#32 L0014: JE L00,G34 [FALSE] L0015 ADD L01,L06 -> L01 JUMP L0017 L0015: JE L00,G35 [FALSE] L0016 ADD L01,L07 -> L01 JUMP L0017 L0016: JZ L01 [FALSE] L0017 JE L00,#06 [TRUE] L0017 ADD L01,#0a -> L01 L0017: CALL_VS R0303 (L02,#02) -> -(SP) ADD L01,(SP)+ -> L01 MUL #02,L01 -> L01 CALL_2S R0061 (L02) -> -(SP) LOADW #1b1d,(SP)+ -> -(SP) AND G5f,(SP)+ -> -(SP) JZ (SP)+ [TRUE] L0018 INC L01 L0018: LOADW #18a6,L03 -> -(SP) ADD (SP)+,L01 -> -(SP) STOREW #18a6,L03,(SP)+ L0019: INC L03 JUMP L0007 L0020: STORE L03,#00 L0021: JL L03,G6f [FALSE] L0027 L0022: LOADW #17a6,L03 -> -(SP) JE (SP)+,#ffff [FALSE] L0026 SUB G6f,#01 -> -(SP) JE L03,(SP)+ [FALSE] L0023 DEC G6f JUMP L0026 L0023: STORE L04,L03 L0024: JL L04,G6f [FALSE] L0025 ADD L04,#01 -> -(SP) LOADW #17a6,(SP)+ -> -(SP) STOREW #17a6,L04,(SP)+ INC L04 JUMP L0024 L0025: DEC G6f JUMP L0022 L0026: INC L03 JUMP L0021 L0027: RTRUE Routine R0033, 4 locals STORE L00,#00 STORE L02,#ffff STORE L03,#00 L0001: JL L03,G6f [FALSE] L0003 LOADW #17a6,L03 -> -(SP) JL (SP)+,#00 [TRUE] L0002 LOADW #18a6,L03 -> L01 JG L01,L02 [FALSE] L0002 STORE L02,L01 STORE L00,L03 L0002: INC L03 JUMP L0001 L0003: JL L02,#00 [FALSE] L0004 RET #ffff L0004: LOADW #17a6,L00 -> L03 STOREW #17a6,L00,#ffff RET L03 Routine R0034, 9 locals JE L00,L01 [TRUE] RTRUE JZ L00 [TRUE] RFALSE JZ L01 [TRUE] RFALSE GET_PARENT L00 -> -(SP) JE (SP)+,#06 [TRUE] RFALSE GET_PARENT L01 -> -(SP) JE (SP)+,#06 [TRUE] RFALSE GET_PROP L00,#30 -> -(SP) JZ (SP)+ [FALSE] L0001 GET_PROP L01,#30 -> -(SP) JZ (SP)+ [TRUE] L0002 L0001: GET_PROP L01,#30 -> -(SP) GET_PROP L00,#30 -> -(SP) JE (SP)+,(SP)+ [FALSE] RFALSE STORE G30,#1004 STORE G31,L00 STORE G32,L01 STORE L07,G73 CALL_VS R0084 (L00,#30) -> L06 STORE G73,L07 JE L06,#ffff [TRUE] RTRUE JE L06,#fffe [TRUE] RFALSE L0002: GET_PROP_ADDR L00,#01 -> L02 GET_PROP_ADDR L00,#01 -> Gef JZ Gef [TRUE] L0003 GET_PROP_LEN Gef -> Gef L0003: PUSH Gef DIV (SP)+,#02 -> L04 GET_PROP_ADDR L01,#01 -> L03 GET_PROP_ADDR L01,#01 -> Gef JZ Gef [TRUE] L0004 GET_PROP_LEN Gef -> Gef L0004: PUSH Gef DIV (SP)+,#02 -> L05 STORE L06,#00 L0005: JL L06,L04 [FALSE] L0009 STORE L08,#00 STORE L07,#00 L0006: JL L07,L05 [FALSE] L0008 LOADW L03,L07 -> -(SP) LOADW L02,L06 -> -(SP) JE (SP)+,(SP)+ [FALSE] L0007 STORE L08,#01 L0007: INC L07 JUMP L0006 L0008: JZ L08 [TRUE] RFALSE INC L06 JUMP L0005 L0009: STORE L07,#00 L0010: JL L07,L05 [FALSE] L0014 STORE L08,#00 STORE L06,#00 L0011: JL L06,L04 [FALSE] L0013 LOADW L03,L07 -> -(SP) LOADW L02,L06 -> -(SP) JE (SP)+,(SP)+ [FALSE] L0012 STORE L08,#01 L0012: INC L06 JUMP L0011 L0013: JZ L08 [TRUE] RFALSE INC L07 JUMP L0010 L0014: RTRUE Routine R0035, 4 locals JZ L00 [FALSE] L0002 STORE L01,G75 CALL_2S R0008 (L01) -> -(SP) JZ (SP)+ [FALSE] L0001 CALL_2S R0300 (L01) -> -(SP) JZ (SP)+ [FALSE] L0001 PRINT_ADDR L01 L0001: INC L00 STORE L03,#01 L0002: STORE L02,L00 L0003: JL L02,G44 [FALSE] L0011 LOADW #1666,L02 -> L01 JE L01,#ffff [FALSE] L0004 JUMP L0010 L0004: JZ L03 [TRUE] L0005 PRINT_CHAR ' ' L0005: JZ L01 [FALSE] L0006 PRINT_PADDR S032 JUMP L0009 L0006: JE L01,#01 [FALSE] L0007 PRINT_PADDR S033 JUMP L0009 L0007: JL L01,#2710 [TRUE] L0008 SUB L01,#2710 -> -(SP) CALL_2S R0063 ((SP)+) -> -(SP) PRINT_ADDR (SP)+ JUMP L0009 L0008: CALL_2N R0103 (L01) L0009: STORE L03,#01 L0010: INC L02 JUMP L0003 L0011: RTRUE Routine R0036, 3 locals STORE G79,G78 JZ G69 [TRUE] L0001 STORE G6a,G69 RET #12 L0001: DEC G73 CALL_1S R0055 -> L01 STORE L02,#04 JE L01,G64 [FALSE] L0002 STORE G66,G64 STORE G67,G65 STORE L02,#0e L0002: STORE L00,G34 L0003: GET_PARENT L00 -> -(SP) JZ (SP)+ [TRUE] L0004 GET_PARENT L00 -> L00 JUMP L0003 L0004: TEST_ATTR L00,#18 [FALSE] L0005 SUB G73,#01 -> -(SP) CALL_VS R0051 (L00,(SP)+) -> -(SP) JE (SP)+,#01 [FALSE] L0005 STORE L02,#0d L0005: JG G41,L02 [FALSE] L0006 RET G41 L0006: RET L02 Routine R0037, 3 locals LOADW #15c6,#00 -> L01 JE L01,#3f [FALSE] L0001 STORE G38,#01 RTRUE L0001: STORE L02,#01 L0002: JG L02,L01 [TRUE] L0003 LOADW #15c6,L02 -> -(SP) JE L00,(SP)+ [TRUE] RTRUE INC L02 JUMP L0002 L0003: INC L01 STOREW #15c6,L01,L00 STOREW #15c6,#00,L01 RTRUE Routine R0038, 5 locals LOADW #15c6,#00 -> L01 STORE L04,#00 STORE L02,#01 L0001: JG L02,L01 [TRUE] L0005 LOADW #15c6,L02 -> -(SP) JE L00,(SP)+ [FALSE] L0004 STORE L03,L02 L0002: JG L03,L01 [TRUE] L0003 ADD L03,#01 -> -(SP) LOADW #15c6,(SP)+ -> -(SP) STOREW #15c6,L03,(SP)+ INC L03 JUMP L0002 L0003: DEC L01 PUSH L01 STOREW #15c6,#00,(SP)+ RET L04 L0004: INC L02 JUMP L0001 L0005: STORE L04,#09 RET L04 Routine R0039, 4 locals L0001: LOADW #15c6,#00 -> L01 STORE L02,#01 L0002: JG L02,L01 [TRUE] L0004 LOADW #15c6,L02 -> L03 TEST_ATTR L03,L00 [TRUE] L0003 CALL_2N R0038 (L03) JUMP L0001 L0003: INC L02 JUMP L0002 L0004: RTRUE Routine R0040, 1 local JL G53,#31 [FALSE] L0001 SUB G53,#01 -> -(SP) TEST_ATTR L00,(SP)+ [TRUE] RTRUE RFALSE L0001: STORE G2a,L00 CALL_1S G53 -> -(SP) RET_POPPED Routine R0041, 5 locals MUL L00,#02 -> -(SP) SUB (SP)+,#01 -> L03 MUL L02,#02 -> -(SP) SUB (SP)+,#01 -> L04 PUSH L04 INC L04 LOADW L01,(SP)+ -> -(SP) PUSH L03 INC L03 STOREW #199f,(SP)+,(SP)+ LOADW L01,L04 -> -(SP) STOREW #199f,L03,(SP)+ RTRUE Routine R0042, 4 locals STORE L03,#00 JZ G69 [TRUE] L0001 STORE G6b,#02 CALL_1S G69 -> -(SP) JZ (SP)+ [FALSE] RTRUE L0001: JE G34,L00,L01 [FALSE] L0002 CALL_2S R0298 (G34) -> -(SP) JZ (SP)+ [FALSE] RTRUE L0002: JE L02,#05 [FALSE] L0004 JE G50,#ffff [TRUE] L0004 CALL_2S R0043 (G50) -> -(SP) JE (SP)+,#01 [FALSE] L0003 CALL_VN R0046 (G50,#00,L02) L0003: JUMP L0009 L0004: TEST_ATTR L00,#14 [TRUE] L0005 TEST_ATTR L00,#04 [FALSE] L0006 L0005: CALL_VN R0047 (L00,L00,L02) L0006: CALL_VN R0046 (L00,L01,L02) TEST_ATTR L01,#14 [TRUE] L0007 TEST_ATTR L01,#04 [FALSE] L0008 L0007: CALL_VN R0047 (L01,L01,L02) L0008: CALL_VN R0046 (L01,#00,L02) L0009: JE #13,L00,L01 [FALSE] L0011 CALL_VN R0047 (G34,G34,L02) GET_PARENT G34 -> -(SP) PULL Gef TEST_ATTR Gef,#14 [TRUE] L0010 TEST_ATTR Gef,#04 [FALSE] L0011 L0010: GET_PARENT G34 -> -(SP) GET_PARENT G34 -> -(SP) CALL_VN R0047 ((SP)+,(SP)+,L02) L0011: RTRUE Routine R0043, 1 local TEST_ATTR L00,#14 [TRUE] RTRUE TEST_ATTR L00,#17 [TRUE] RTRUE TEST_ATTR L00,#04 [FALSE] L0001 TEST_ATTR L00,#0e [TRUE] RTRUE L0001: RFALSE Routine R0044, 1 local JE G68,#00,#01 [TRUE] L0001 CALL_2N R0045 (L00) RTRUE L0001: STORE G73,G72 CALL_2N R0050 (L00) STORE G6e,#01 RTRUE Routine R0045, 3 locals STORE L01,G68 STORE L02,G31 STORE Gef,G68 JE Gef,#03 [FALSE] L0003 GET_PROP L00,#1a -> -(SP) JE (SP)+,#00,#ffff [FALSE] L0001 RTRUE L0001: JZ G31 [FALSE] L0002 CALL_VS R0084 (L00,#1a) -> G31 L0002: JUMP L0011 L0003: JE Gef,#04 [FALSE] L0006 GET_PROP L00,#1b -> -(SP) JE (SP)+,#00,#ffff [FALSE] L0004 RTRUE L0004: JZ G31 [FALSE] L0005 CALL_VS R0084 (L00,#1b) -> G31 L0005: JUMP L0011 L0006: JE Gef,#02 [FALSE] L0008 GET_PROP_ADDR L00,#2c -> -(SP) JZ (SP)+ [FALSE] L0007 RTRUE L0007: CALL_VN R0082 (L00,#2c) JUMP L0011 L0008: JE Gef,#06 [FALSE] L0010 JE L00,G31 [FALSE] L0009 STORE G32,#01 L0009: JUMP L0011 L0010: JE Gef,#05 [FALSE] L0011 CALL_2N G31 (L00) STORE G31,L02 L0011: STORE G68,L01 RTRUE Routine R0046, 3 locals JZ L00 [TRUE] RTRUE JZ G5a [FALSE] L0001 JE L00,G35 [FALSE] L0001 JZ G68 [FALSE] L0001 JE L02,#06 [TRUE] L0001 CALL_2N R0046 (#06) L0001: GET_CHILD L00 -> -(SP) [FALSE] L0002 L0002: PULL L00 JZ L00 [TRUE] L0004 L0003: CALL_VN R0047 (L00,L01,L02) GET_SIBLING L00 -> L00 [TRUE] L0003 L0004: RTRUE Routine R0047, 6 locals JE L02,#04 [FALSE] L0001 JE L00,G50 [FALSE] L0001 JUMP L0006 L0001: JE G68,#00,#01 [TRUE] L0002 CALL_2N R0045 (L00) JUMP L0006 L0002: JG G72,G74 [FALSE] L0003 STORE L03,G2f STORE G2f,#00 CALL_VN R0049 (L00,#00) STORE G2f,L03 JUMP L0006 L0003: STORE G73,G72 CALL_1S R0054 -> L03 JE L03,#01 [FALSE] L0004 JE G12,L00 [FALSE] L0004 CALL_VN R0049 (L00,#01) L0004: JL L03,#02 [TRUE] L0005 JL L03,#80 [FALSE] L0005 LOADW #1b35,L03 -> -(SP) JE (SP)+,L00 [FALSE] L0005 CALL_VN R0049 (L00,#01) L0005: DEC G73 CALL_2N R0050 (L00) L0006: GET_CHILD L00 -> -(SP) [FALSE] L0007 L0007: JZ (SP)+ [TRUE] L0008 JE L00,L01 [TRUE] L0008 CALL_2S R0043 (L00) -> -(SP) JE (SP)+,#01 [FALSE] L0008 CALL_VN R0046 (L00,L01,L02) L0008: GET_PROP_ADDR L00,#18 -> L04 JZ L04 [TRUE] L0012 LOADW L04,#00 -> -(SP) CALL_VS R0109 ((SP)+,G03) -> -(SP) JG (SP)+,#00 [FALSE] L0009 ADD #02,L02 -> G6c CALL_VN R0084 (L00,#18) STORE G6c,#00 JUMP L0012 L0009: GET_PROP_ADDR L00,#18 -> Gef JZ Gef [TRUE] L0010 GET_PROP_LEN Gef -> Gef L0010: STORE L05,Gef STORE L03,#00 L0011: MUL #02,L03 -> -(SP) JL (SP)+,L05 [FALSE] L0012 LOADW L04,L03 -> -(SP) CALL_VN R0047 ((SP)+,#00,L02) INC L03 JUMP L0011 L0012: RTRUE Routine R0048, 1 local JL G6c,#02 [TRUE] L0001 SUB G6c,#02 -> -(SP) CALL_VN R0047 (L00,#00,(SP)+) L0001: JE G6c,#01 [FALSE] L0002 CALL_2S R0095 (L00) -> -(SP) JE (SP)+,#01 [FALSE] L0002 STORE G6d,#01 L0002: RTRUE Routine R0049, 3 locals JZ G53 [TRUE] L0001 CALL_2S R0040 (L00) -> -(SP) JZ (SP)+ [FALSE] L0001 RTRUE L0001: JL L01,G71 [TRUE] RTRUE JG L01,G71 [FALSE] L0002 STORE G71,L01 STORE G6f,#00 JUMP L0004 L0002: MUL #02,G6f -> -(SP) JL (SP)+,#80 [FALSE] RTRUE STORE L02,#00 L0003: JL L02,G6f [FALSE] L0004 LOADW #17a6,L02 -> -(SP) JE (SP)+,L00 [TRUE] RTRUE INC L02 JUMP L0003 L0004: PUSH G6f INC G6f STOREW #17a6,(SP)+,L00 RTRUE Routine R0050, 5 locals STORE G63,#00 JZ G5a [TRUE] L0001 JG G73,G74 [FALSE] L0001 STORE G63,#70 CALL_VN R0049 (L00,#00) RFALSE L0001: GET_PROP L00,#30 -> -(SP) JZ (SP)+ [TRUE] L0008 STORE G30,#ffff STORE L04,G73 CALL_VS R0084 (L00,#30) -> L02 JG L02,#00 [FALSE] L0007 ADD L04,L02 -> G73 L0002: JE G30,#1005 [FALSE] L0003 OR G63,#04 -> G63 L0003: AND G63,#04 -> -(SP) JZ (SP)+ [TRUE] L0006 JZ G61 [FALSE] L0004 STORE L02,#00 JUMP L0006 L0004: JZ G5a [FALSE] L0005 STORE G5a,#01 STORE G5b,#00 STORE G5c,#00 L0005: OR G5b,#08 -> G5b JZ G5c [FALSE] L0006 STORE G5c,#64 L0006: CALL_VN R0049 (L00,L02) RFALSE L0007: JZ L02 [FALSE] L0008 JUMP L0013 L0008: STORE G30,#ffff CALL_1S R0054 -> L03 JE L03,#01 [FALSE] L0009 JE G12,L00 [FALSE] L0009 STORE L02,#01 JUMP L0002 L0009: JL L03,#02 [TRUE] L0010 JL L03,#80 [FALSE] L0010 LOADW #1b35,L03 -> -(SP) JE (SP)+,L00 [FALSE] L0010 STORE L02,#01 JUMP L0002 L0010: DEC G73 STORE L04,G73 CALL_2S R0305 (L00) -> L01 JL L01,#00 [FALSE] L0011 INC G73 L0011: JG L01,#00 [FALSE] L0012 STORE L02,L01 JUMP L0002 L0012: JZ L01 [TRUE] L0013 SUB G73,#01 -> -(SP) CALL_VS R0051 (L00,(SP)+) -> -(SP) JZ (SP)+ [FALSE] L0015 L0013: JZ G5a [TRUE] L0014 STORE L02,#00 STORE G30,#ffff JUMP L0002 L0014: RFALSE L0015: JL L01,#00 [FALSE] L0018 STORE L01,#01 LOADB L03,#06 -> -(SP) AND (SP)+,#74 -> G63 CALL_1S R0055 -> L03 L0016: SUB G73,#01 -> -(SP) CALL_VS R0051 (L00,(SP)+) -> -(SP) JZ (SP)+ [TRUE] L0018 INC L01 JZ L03 [TRUE] L0017 LOADB L03,#06 -> -(SP) AND (SP)+,#74 -> -(SP) OR G63,(SP)+ -> G63 L0017: CALL_1S R0055 -> L03 JUMP L0016 L0018: STORE L02,L01 JUMP L0002 Routine R0051, 6 locals JZ L00 [TRUE] RFALSE STORE L03,G73 STORE G73,L01 CALL_1S R0056 -> L02 STORE G73,L03 JL G33,#0100 [TRUE] L0002 CALL_VS G33 (L00,L02) -> L03 JL L03,#00 [TRUE] L0001 RET L03 L0001: SUB #00,L03 -> L05 JUMP L0003 L0002: STORE L05,G33 L0003: CALL_VS R0309 (L00,L05) -> L03 CALL_VS R0310 (L00,L05) -> -(SP) DIV (SP)+,#02 -> -(SP) SUB (SP)+,#01 -> L04 STORE L05,#00 L0004: JG L05,L04 [TRUE] L0005 LOADW L03,L05 -> -(SP) JE L02,(SP)+ [TRUE] RTRUE INC L05 JUMP L0004 L0005: RFALSE Routine R0052, 6 locals CALL_VS R0309 (L01,L02) -> L03 CALL_VS R0310 (L01,L02) -> -(SP) DIV (SP)+,#02 -> -(SP) SUB (SP)+,#01 -> L04 STORE L05,#00 L0001: JG L05,L04 [TRUE] L0002 LOADW L03,L05 -> -(SP) JE L00,(SP)+ [TRUE] RTRUE INC L05 JUMP L0001 L0002: RFALSE Routine R0053, 3 locals STORE L02,#00 L0001: JL L02,L01 [FALSE] L0002 LOADB L00,L02 -> -(SP) ADD #02,L02 -> -(SP) STOREB #19e0,(SP)+,(SP)+ INC L02 JUMP L0001 L0002: STOREB #19e0,#01,L01 TOKENISE #19e0,#1a59 LOADW #1a59,#01 -> -(SP) RET_POPPED Routine R0054, 3 locals CALL_1S R0055 -> L00 JZ L00 [TRUE] RFALSE JE L00,"me","myself","self" [FALSE] L0001 RTRUE L0001: LOADW #1b35,#00 -> L02 STORE L01,#01 JUMP L0003 L0002: ADD L01,#03 -> L01 L0003: JG L01,L02 [TRUE] L0005 LOADW #1b35,L01 -> -(SP) JE L00,(SP)+ [FALSE] L0004 ADD L01,#02 -> -(SP) RET_POPPED L0004: JUMP L0002 L0005: LOADB L00,#06 -> -(SP) AND (SP)+,#80 -> -(SP) JZ (SP)+ [TRUE] RFALSE RET L00 Routine R0055, 3 locals LOADB #199f,#01 -> -(SP) JG G73,(SP)+ [FALSE] L0001 INC G73 RFALSE L0001: MUL G73,#02 -> -(SP) SUB (SP)+,#01 -> L00 INC G73 LOADW #199f,L00 -> L01 JZ L01 [FALSE] L0003 MUL G73,#04 -> -(SP) SUB (SP)+,#03 -> L02 LOADB #199f,L02 -> -(SP) LOADB #1926,(SP)+ -> L00 JE L00,#2c [FALSE] L0002 STORE L01,"comma," L0002: JE L00,#2e [FALSE] L0003 STORE L01,"then" L0003: RET L01 Routine R0056, 0 locals LOADB #199f,#01 -> -(SP) JG G73,(SP)+ [FALSE] L0001 INC G73 RET #ffff L0001: CALL_1S R0055 -> -(SP) RET_POPPED Routine R0057, 1 local MUL L00,#04 -> -(SP) ADD (SP)+,#01 -> -(SP) LOADB #199f,(SP)+ -> -(SP) ADD #1926,(SP)+ -> -(SP) RET_POPPED Routine R0058, 1 local MUL L00,#04 -> -(SP) LOADB #199f,(SP)+ -> -(SP) RET_POPPED Routine R0059, 10 locals STORE L01,G73 STORE G73,L00 CALL_1S R0055 -> L02 STORE G73,L01 CALL_2S R0107 (L02) -> L02 JL L02,#01 [TRUE] L0001 RET L02 L0001: MUL L00,#04 -> -(SP) ADD (SP)+,#01 -> L01 LOADB #199f,L01 -> L02 ADD L02,#1926 -> L04 SUB L01,#01 -> -(SP) LOADB #199f,(SP)+ -> L05 CALL_VS R0302 (L04,L05) -> L07 JZ L07 [TRUE] L0002 RET L07 L0002: JL L05,#04 [TRUE] L0003 STORE L06,#03e8 L0003: JE L05,#03 [FALSE] L0004 STORE L06,#64 L0004: JE L05,#02 [FALSE] L0005 STORE L06,#0a L0005: JE L05,#01 [FALSE] L0006 STORE L06,#01 L0006: STORE L07,#00 STORE L03,#00 SUB L05,#01 -> L05 STORE L03,#00 L0007: JG L03,L05 [TRUE] L0019 LOADB L04,L03 -> L09 JE L09,#30 [FALSE] L0008 STORE L08,#00 JUMP L0018 L0008: JE L09,#31 [FALSE] L0009 STORE L08,#01 JUMP L0018 L0009: JE L09,#32 [FALSE] L0010 STORE L08,#02 JUMP L0018 L0010: JE L09,#33 [FALSE] L0011 STORE L08,#03 JUMP L0018 L0011: JE L09,#34 [FALSE] L0012 STORE L08,#04 JUMP L0018 L0012: JE L09,#35 [FALSE] L0013 STORE L08,#05 JUMP L0018 L0013: JE L09,#36 [FALSE] L0014 STORE L08,#06 JUMP L0018 L0014: JE L09,#37 [FALSE] L0015 STORE L08,#07 JUMP L0018 L0015: JE L09,#38 [FALSE] L0016 STORE L08,#08 JUMP L0018 L0016: JE L09,#39 [FALSE] L0017 STORE L08,#09 JUMP L0018 L0017: RET #fc18 L0018: MUL L06,L08 -> -(SP) ADD L07,(SP)+ -> L07 DIV L06,#0a -> L06 INC L03 JUMP L0007 L0019: JG L05,#03 [FALSE] L0020 STORE L07,#2710 L0020: RET L07 Routine R0060, 1 local TEST_ATTR L00,#1c [FALSE] RTRUE RFALSE Routine R0061, 3 locals TEST_ATTR L00,#00 [TRUE] L0001 STORE L01,#06 L0001: TEST_ATTR L00,#1b [FALSE] L0002 STORE L02,#1b L0002: TEST_ATTR L00,#1c [FALSE] L0003 STORE L02,#1c L0003: TEST_ATTR L00,#1d [FALSE] L0004 STORE L02,#1d L0004: JZ L02 [FALSE] L0006 JZ L01 [FALSE] L0005 STORE L02,#1b JUMP L0006 L0005: STORE L02,#1d L0006: JE L02,#1c [FALSE] L0007 ADD L01,#01 -> L01 L0007: JE L02,#1d [FALSE] L0008 ADD L01,#02 -> L01 L0008: TEST_ATTR L00,#1e [FALSE] L0009 ADD L01,#03 -> L01 L0009: RET L01 Routine R0062, 1 local LOADW #00,#04 -> -(SP) ADD (SP)+,#07 -> -(SP) SUB L00,(SP)+ -> -(SP) DIV (SP)+,#09 -> -(SP) RET_POPPED Routine R0063, 1 local MUL #09,L00 -> -(SP) LOADW #00,#04 -> -(SP) ADD (SP)+,#07 -> -(SP) ADD (SP)+,(SP)+ -> -(SP) RET_POPPED Routine R0064, 4 locals LOADB L00,#00 -> L03 STORE L02,#01 L0001: JG L02,L03 [TRUE] L0002 LOADB L01,L02 -> -(SP) STOREB L00,L02,(SP)+ INC L02 JUMP L0001 L0002: RTRUE Routine R0065, 3 locals LOADB #1926,#01 -> L02 LOADB #1926,#00 -> -(SP) JG L02,(SP)+ [FALSE] L0001 LOADB #1926,#00 -> L02 L0001: ADD L02,#02 -> L02 L0002: JG L02,L00 [FALSE] L0003 SUB L02,#01 -> -(SP) LOADB #1926,(SP)+ -> -(SP) STOREB #1926,L02,(SP)+ DEC L02 JUMP L0002 L0003: STOREB #1926,L00,L01 LOADB #1926,#00 -> -(SP) LOADB #1926,#01 -> -(SP) JL (SP)+,(SP)+ [FALSE] L0004 STORE Gef,#1926 STORE Gee,#01 LOADB Gef,Gee -> Ged INC Ged STOREB Gef,Gee,Ged L0004: RTRUE Routine R0066, 4 locals Action routine for: "nouns" CALL_VN R0237 (#00,#01) LOADW #1b35,#00 -> -(SP) DIV (SP)+,#03 -> L02 JE G12,#14 [TRUE] L0001 INC L02 L0001: JZ L02 [FALSE] L0002 CALL_VS R0237 (#00,#04) -> -(SP) RET_POPPED L0002: STORE L00,#01 STORE L03,#00 JUMP L0004 L0003: ADD L00,#03 -> L00 L0004: LOADW #1b35,#00 -> -(SP) JG L00,(SP)+ [TRUE] L0009 PRINT """ LOADW #1b35,L00 -> -(SP) PRINT_ADDR (SP)+ PRINT "" " ADD L00,#02 -> -(SP) LOADW #1b35,(SP)+ -> L01 JE L01,#ffff [FALSE] L0005 CALL_VN R0237 (#00,#03) JUMP L0006 L0005: CALL_VN R0237 (#00,#02) CALL_2N R0103 (L01) L0006: INC L03 SUB L02,#01 -> -(SP) JL L03,(SP)+ [FALSE] L0007 PRINT ", " L0007: SUB L02,#01 -> -(SP) JE L03,(SP)+ [FALSE] L0008 PRINT_PADDR S040 L0008: JUMP L0003 L0009: JE G12,#14 [TRUE] L0010 PRINT """ PRINT_ADDR "me" PRINT "" " CALL_VN R0237 (#00,#02) STORE L02,G12 STORE G12,#14 CALL_2N R0103 (L02) STORE G12,L02 L0010: PRINT_RET "." Routine R0067, 3 locals STORE L02,#01 JUMP L0002 L0001: ADD L02,#03 -> L02 L0002: LOADW #1b35,#00 -> -(SP) JG L02,(SP)+ [TRUE] L0004 LOADW #1b35,L02 -> -(SP) JE (SP)+,L00 [FALSE] L0003 ADD L02,#02 -> -(SP) STOREW #1b35,(SP)+,L01 RTRUE L0003: JUMP L0001 L0004: CALL_2N R0112 (#0e) RTRUE Routine R0068, 2 locals STORE L01,#01 JUMP L0002 L0001: ADD L01,#03 -> L01 L0002: LOADW #1b35,#00 -> -(SP) JG L01,(SP)+ [TRUE] L0004 LOADW #1b35,L01 -> -(SP) JE (SP)+,L00 [FALSE] L0003 ADD L01,#02 -> -(SP) LOADW #1b35,(SP)+ -> -(SP) RET_POPPED L0003: JUMP L0001 L0004: RFALSE Routine R0069, 1 local CALL_2N R0071 (L00) RTRUE Routine R0070, 0 locals JE G7d,G80 [TRUE] L0001 CALL_VN R0067 ("it",G7d) L0001: JE G7e,G81 [TRUE] L0002 CALL_VN R0067 ("him",G7e) L0002: JE G7f,G82 [TRUE] L0003 CALL_VN R0067 ("her",G7f) L0003: STORE G80,G7d STORE G81,G7e STORE G82,G7f RTRUE Routine R0071, 3 locals JE L00,G12 [FALSE] L0001 RTRUE L0001: CALL_1N R0070 CALL_2S R0061 (L00) -> -(SP) LOADW #1b1d,(SP)+ -> L02 STORE L01,#01 JUMP L0003 L0002: ADD L01,#03 -> L01 L0003: LOADW #1b35,#00 -> -(SP) JG L01,(SP)+ [TRUE] L0005 ADD L01,#01 -> -(SP) LOADW #1b35,(SP)+ -> -(SP) AND L02,(SP)+ -> -(SP) JZ (SP)+ [TRUE] L0004 ADD L01,#02 -> -(SP) STOREW #1b35,(SP)+,L00 L0004: JUMP L0002 L0005: CALL_2S R0068 ("it") -> G7d STORE G80,G7d CALL_2S R0068 ("him") -> G7e STORE G81,G7e CALL_2S R0068 ("her") -> G7f STORE G82,G7f RTRUE Routine R0072, 4 locals LOADW #32,#00 -> G04 CALL_VN R0085 (#26,S028) STORE G15,#13 STORE G12,#14 SUB #0165,#ff -> G03 PUT_PROP "(self object)",#2d,#05 CALL_1S R0281 -> L01 STORE G0e,G0d INSERT_OBJ G12,G00 L0001: GET_PARENT G00 -> -(SP) JZ (SP)+ [TRUE] L0002 GET_PARENT G00 -> G00 JUMP L0001 L0002: GET_CHILD G12 -> -(SP) [FALSE] L0003 L0003: PULL L00 JZ L00 [TRUE] L0005 L0004: SET_ATTR L00,#0c CLEAR_ATTR L00,#03 GET_SIBLING L00 -> L00 [TRUE] L0004 L0005: JE L01,#02 [TRUE] L0006 CALL_1N R0110 L0006: GET_PARENT G12 -> -(SP) CALL_2S R0094 ((SP)+) -> G14 JZ G14 [FALSE] L0007 STORE G15,G00 STORE G00,#13 L0007: CALL_2N R0075 (#1f) STORE L00,#01 L0008: JG L00,#64 [TRUE] L0009 RANDOM L00 -> L01 INC L00 JUMP L0008 L0009: STORE G80,G7d STORE G81,G7e STORE G82,G7f L0010: JZ G13 [FALSE] L0045 JE G0d,G0e [TRUE] L0012 JE G0f,#01 [FALSE] L0011 CALL_1N R0092 L0011: STORE G0e,G0d L0012: CALL_1N R0070 CALL_2S R0068 ("it") -> G80 CALL_2S R0068 ("him") -> G81 CALL_2S R0068 ("her") -> G82 L0013: STOREW #15a6,#00,#00 STOREW #15a6,#01,#00 STOREW #15a6,#02,#00 STOREW #15a6,#03,#00 STORE G36,#00 CALL_VN R0308 (#15,#48,#15a6) LOADW #15a6,#00 -> G27 JE G27,#5b,#5c [FALSE] L0015 LOADW #15a6,#02 -> L00 LOADW #15a6,#03 -> -(SP) STOREW #15a6,#02,(SP)+ STOREW #15a6,#03,L00 JE G27,#5b [FALSE] L0014 STORE G27,#15 JUMP L0015 L0014: STORE G27,#16 L0015: JE G27,#51 [FALSE] L0016 LOADW #15a6,#02 -> -(SP) JE (SP)+,G12 [FALSE] L0016 JE G34,G12 [TRUE] L0016 STOREW #15a6,#02,G34 STORE G34,G12 STORE G27,#53 L0016: JE G27,#5a [FALSE] L0017 LOADW #15a6,#02 -> -(SP) JE (SP)+,G12 [TRUE] L0017 JE G34,G12 [FALSE] L0017 LOADW #15a6,#02 -> G34 LOADW #15a6,#03 -> -(SP) STOREW #15a6,#02,(SP)+ STOREW #15a6,#03,G12 STORE G27,#15 L0017: JE G27,#53,#51,#52 [FALSE] L0018 STORE G39,G48 L0018: STORE G37,#00 STORE G3f,G3e STORE G3e,#00 L0019: STORE G28,#00 STORE G29,#00 LOADW #15a6,#01 -> L00 JL L00,#01 [TRUE] L0020 LOADW #15a6,#02 -> G28 L0020: JL L00,#02 [TRUE] L0021 LOADW #15a6,#03 -> G29 L0021: JE G28,#01 [FALSE] L0022 STORE G2a,G48 JUMP L0023 L0022: STORE G2a,G28 L0023: JE G29,#01 [FALSE] L0026 JE G28,#01 [FALSE] L0024 STORE G2b,G49 JUMP L0025 L0024: STORE G2b,G48 L0025: JUMP L0027 L0026: STORE G2b,G29 L0027: JE G34,G12 [TRUE] L0030 CALL_VS R0084 (G12,#1d) -> L01 JZ L01 [FALSE] L0029 CALL_VS R0084 (G34,#1d) -> L01 JZ L01 [FALSE] L0029 JE G27,#1009 [FALSE] L0028 STOREW #15a6,#03,G34 STORE G34,G12 STORE G27,#52 JUMP L0019 L0028: CALL_VS R0080 (G34,#1003) -> -(SP) JZ (SP)+ [FALSE] L0029 CALL_VN R0237 (#1003,#01,G34) L0029: JUMP L0041 L0030: JZ L00 [TRUE] L0032 JE L00,#01 [FALSE] L0031 JZ G28 [FALSE] L0032 L0031: JE L00,#02 [FALSE] L0033 JZ G28 [TRUE] L0033 JZ G29 [TRUE] L0033 L0032: CALL_VN2 R0308 (Geb,#004b,G27,G2a,G2b,#00) JUMP L0041 L0033: STORE G37,#01 LOADW #15c6,#00 -> L01 JZ L01 [FALSE] L0034 CALL_VN R0237 (#1007,#02) JUMP L0013 L0034: JZ G38 [TRUE] L0035 STORE G38,#00 CALL_VN R0237 (#1007,#01) L0035: STORE L00,G00 STORE L02,#01 L0036: JG L02,L01 [TRUE] L0041 JZ G13 [TRUE] L0037 JUMP L0041 L0037: JE G00,L00 [TRUE] L0038 CALL_VN R0237 (#1007,#33) JUMP L0041 L0038: LOADW #15c6,L02 -> L03 CALL_2N R0071 (L03) CALL_2N R0105 (L03) PRINT ": " JZ G28 [FALSE] L0039 STORE G28,L03 CALL_VN2 R0308 (Geb,#004b,G27,L03,G2b,#00) STORE G28,#00 JUMP L0040 L0039: STORE G29,L03 CALL_VN2 R0308 (Geb,#004b,G27,G2a,L03,#00) STORE G29,#00 L0040: INC L02 JUMP L0036 L0041: JE G3e,#01 [FALSE] L0042 JUMP L0010 L0042: JZ G36 [TRUE] L0043 JUMP L0010 L0043: JZ G13 [FALSE] L0044 CALL_VN R0308 (Geb,#004a) L0044: JUMP L0010 L0045: JE G13,#02 [TRUE] L0046 CALL_1N R0293 L0046: JZ G13 [FALSE] L0047 JUMP L0013 L0047: PRINT " " SET_TEXT_STYLE BOLDFACE PRINT "***" JE G13,#01 [FALSE] L0048 CALL_VN R0237 (#1007,#03) L0048: JE G13,#02 [FALSE] L0049 CALL_VN R0237 (#1007,#04) L0049: JG G13,#02 [FALSE] L0050 PRINT " " CALL_1N R0289 PRINT " " L0050: PRINT "***" SET_TEXT_STYLE ROMAN PRINT " " CALL_1N R0140 CALL_1N R0090 L0051: CALL_VN R0237 (#1007,#05) L0052: PRINT "> " STORE Gef,#00 STORE Gec,#1926 STOREB Gec,#01,#00 CALL_1N R0097 READ Gec,#199f -> Gef LOADW #199f,#01 -> L00 JE L00,"q","quit" [FALSE] L0053 QUIT L0053: JE L00,"restart" [FALSE] L0054 RESTART L0054: JE L00,"restore" [FALSE] L0055 CALL_1N R0131 JUMP L0051 L0055: JE L00,"fullscore","full" [FALSE] L0056 JZ #0001 [FALSE] L0056 NEW_LINE CALL_1N R0143 JUMP L0051 L0056: JE G13,#02 [FALSE] L0057 JE L00,"amusing" [FALSE] L0057 JZ #0001 [FALSE] L0057 NEW_LINE CALL_1N R0288 JUMP L0051 L0057: JE L00,"undo","undo","undo" [FALSE] L0062 JZ G05 [FALSE] L0058 CALL_VN R0237 (#1007,#06) JUMP L0051 L0058: JE G05,#01 [FALSE] L0059 JUMP L0060 L0059: RESTORE_UNDO -> L00 JZ L00 [FALSE] L0061 L0060: CALL_VN R0237 (#1007,#07) L0061: JUMP L0051 L0062: CALL_VN R0237 (#1007,#08) JUMP L0052 Routine R0073, 2 locals INC G08 JE G09,#ffff [TRUE] L0003 JL G0a,#00 [TRUE] L0001 ADD G09,G0a -> G09 JUMP L0002 L0001: DEC G0b JZ G0b [FALSE] L0002 INC G09 SUB #00,G0a -> G0b L0002: MOD G09,#05a0 -> G09 L0003: STORE L00,#00 L0004: JL L00,G0c [FALSE] L0009 JZ G13 [TRUE] L0005 RTRUE L0005: LOADW #1566,L00 -> L01 JZ L01 [TRUE] L0008 AND L01,#8000 -> -(SP) JZ (SP)+ [TRUE] L0006 AND L01,#7fff -> -(SP) CALL_VN R0084 ((SP)+,#2b) JUMP L0008 L0006: GET_PROP L01,#28 -> -(SP) JZ (SP)+ [FALSE] L0007 CALL_2N R0087 (L01) CALL_VN R0084 (L01,#2a) JUMP L0008 L0007: GET_PROP L01,#28 -> -(SP) SUB (SP)+,#01 -> -(SP) PUT_PROP L01,#28,(SP)+ L0008: INC L00 JUMP L0004 L0009: JZ G13 [TRUE] L0010 RTRUE L0010: STORE G68,#02 STORE G75,#00 CALL_2N R0045 (G00) CALL_2S R0023 (G12) -> -(SP) CALL_VN R0042 ((SP)+,G12,#00) STORE G68,#00 JZ G13 [TRUE] L0011 RTRUE L0011: CALL_1N R0287 JZ G13 [TRUE] L0012 RTRUE L0012: CALL_1N R0093 JZ G13 [TRUE] L0013 RTRUE L0013: STORE L00,#01 L0014: JIN L00,G12 [FALSE] L0015 TEST_ATTR L00,#0c [TRUE] L0015 SET_ATTR L00,#0c TEST_ATTR L00,#12 [FALSE] L0015 ADD G0d,#0004 -> G0d ADD G11,#0004 -> G11 L0015: INC L00 JG L00,#0066 [TRUE] L0016 JUMP L0014 L0016: RFALSE Routine R0074, 8 locals STORE L04,G27 STORE L05,G2a STORE L06,G2b STORE G27,L00 STORE G2a,L01 STORE G2b,L02 STORE L03,#00 JZ G36 [FALSE] L0001 CALL_1S R0078 -> -(SP) JZ (SP)+ [FALSE] L0002 L0001: JL G27,#1000 [FALSE] L0002 LOADW #23da,G27 -> -(SP) CALL_1N (SP)+ STORE L07,#00 JUMP L0003 L0002: STORE L07,#01 L0003: STORE G27,L04 STORE G2a,L05 STORE G2b,L06 RFALSE Routine R0075, 5 locals STORE L03,G28 STORE L04,G29 STORE G28,L01 STORE G29,L02 CALL_VN2 R0308 (#16,#4b,L00,L01,L02,#01) STORE G28,L03 STORE G29,L04 RTRUE Routine R0076, 7 locals STORE L05,G31 STORE L06,G32 STORE G31,L00 STORE G32,#00 STORE L02,G34 STORE L03,G35 STORE L04,G68 STORE G68,#06 JZ L01 [FALSE] L0001 STORE G34,G12 JUMP L0002 L0001: STORE G34,L01 L0002: CALL_2S R0023 (G34) -> G35 CALL_VN R0042 (G35,G34,#00) STORE G68,L04 STORE G34,L02 STORE G35,L03 STORE G31,L05 STORE L05,G32 STORE G32,L06 RET L05 Routine R0077, 6 locals STORE L02,G31 STORE L03,G68 STORE L04,G34 STORE L05,G35 STORE G31,L00 JZ L01 [FALSE] L0001 STORE G34,G12 JUMP L0002 L0001: STORE G34,L01 L0002: CALL_2S R0023 (G34) -> G35 STORE G68,#05 CALL_VN R0042 (G35,G34,#00) STORE G31,L02 STORE G68,L03 STORE G34,L04 STORE G35,L05 RTRUE Routine R0078, 0 locals CALL_1S R0294 -> -(SP) JZ (SP)+ [FALSE] RTRUE CALL_VS R0084 (G12,#1d) -> -(SP) JZ (SP)+ [FALSE] RTRUE JZ G00 [TRUE] L0001 CALL_VS R0084 (G00,#04) -> -(SP) JZ (SP)+ [FALSE] RTRUE L0001: STORE G68,#03 STORE G31,#00 CALL_2S R0023 (G12) -> -(SP) CALL_VN R0042 ((SP)+,G12,#00) STORE G68,#00 JZ G31 [FALSE] RTRUE JG G28,#01 [FALSE] L0002 CALL_VS R0084 (G28,#04) -> -(SP) JZ (SP)+ [FALSE] RTRUE L0002: RFALSE Routine R0079, 0 locals STORE G68,#04 STORE G31,#00 CALL_2S R0023 (G12) -> -(SP) CALL_VN R0042 ((SP)+,G12,#00) STORE G68,#00 JZ G31 [FALSE] RTRUE JZ G00 [TRUE] L0001 CALL_VS R0084 (G00,#05) -> -(SP) JZ (SP)+ [FALSE] RTRUE L0001: JG G28,#01 [FALSE] L0002 CALL_VS R0084 (G28,#05) -> -(SP) JZ (SP)+ [FALSE] RTRUE L0002: CALL_1S R0282 -> -(SP) RET_POPPED Routine R0080, 2 locals STORE G2d,L01 CALL_VS R0084 (L00,#06) -> -(SP) RET_POPPED Routine R0081, 1 local CALL_VS R0317 (L00) -> -(SP) PULL Gef JE Gef,#00 [FALSE] L0001 RFALSE L0001: JE Gef,#02,#01 [FALSE] L0002 RTRUE L0002: JE Gef,#03 [FALSE] L0003 RET #02 L0003: JE Gef,#04 [FALSE] L0004 RET #03 L0004: RTRUE Routine R0082, 3 locals CALL_VS R0310 (L00,L01) -> -(SP) JG (SP)+,#02 [FALSE] L0001 CALL_VS R0084 (L00,L01) -> -(SP) RET_POPPED L0001: CALL_VS R0307 (L00,L01) -> -(SP) JE (SP)+,#ffff [TRUE] RFALSE CALL_VS R0307 (L00,L01) -> -(SP) CALL_VS R0317 ((SP)+) -> -(SP) PULL Gef JE Gef,#01,#02,#00 [FALSE] L0002 CALL_VS R0112 (#02,L00,L01) -> -(SP) RET_POPPED L0002: JE Gef,#04 [FALSE] L0004 CALL_VS R0307 (L00,L01) -> -(SP) PRINT_PADDR (SP)+ JZ L02 [FALSE] L0003 NEW_LINE L0003: RTRUE L0004: JE Gef,#03 [FALSE] L0005 CALL_VS R0084 (L00,L01) -> -(SP) RET_POPPED L0005: RTRUE Routine R0083, 2 locals CALL_VS R0307 (L00,L01) -> -(SP) JL (SP)+,#0100 [FALSE] L0001 CALL_VS R0307 (L00,L01) -> -(SP) RET_POPPED L0001: CALL_VS R0084 (L00,L01) -> -(SP) RET_POPPED Routine R0084, 2 locals JE L00,#13 [FALSE] L0001 JE L01,#1e,#2e,#23 [TRUE] L0001 STORE L00,G15 L0001: CALL_VS R0309 (L00,L01) -> -(SP) JZ (SP)+ [TRUE] RFALSE CALL_VS R0308 (L00,L01) -> -(SP) RET_POPPED Routine R0085, 2 locals SUB L00,#01 -> -(SP) LOADW #00,#05 -> -(SP) STOREW (SP)+,(SP)+,L01 RTRUE Routine R0086, 3 locals STORE L02,#00 L0001: JL L02,G0c [FALSE] L0002 LOADW #1566,L02 -> -(SP) JE (SP)+,L00 [TRUE] RFALSE INC L02 JUMP L0001 L0002: STORE L02,#00 L0003: JL L02,G0c [FALSE] L0005 LOADW #1566,L02 -> -(SP) JZ (SP)+ [FALSE] L0004 JUMP L0006 L0004: INC L02 JUMP L0003 L0005: STORE L02,G0c INC G0c MUL L02,#02 -> -(SP) JL (SP)+,#40 [TRUE] L0006 CALL_2N R0112 (#04) L0006: GET_PROP_ADDR L00,#28 -> -(SP) JZ (SP)+ [FALSE] L0007 CALL_VN R0112 (#05,L00) L0007: STOREW #1566,L02,L00 PUT_PROP L00,#28,L01 RTRUE Routine R0087, 2 locals STORE L01,#00 L0001: JL L01,G0c [FALSE] L0003 LOADW #1566,L01 -> -(SP) JE (SP)+,L00 [FALSE] L0002 JUMP L0004 L0002: INC L01 JUMP L0001 L0003: RFALSE L0004: GET_PROP_ADDR L00,#28 -> -(SP) JZ (SP)+ [FALSE] L0005 CALL_VN R0112 (#05,L00) L0005: STOREW #1566,L01,#00 PUT_PROP L00,#28,#00 RTRUE Routine R0088, 2 locals STORE L01,#00 L0001: JL L01,G0c [FALSE] L0002 ADD #8000,L00 -> -(SP) LOADW #1566,L01 -> -(SP) JE (SP)+,(SP)+ [TRUE] RFALSE INC L01 JUMP L0001 L0002: STORE L01,#00 L0003: JL L01,G0c [FALSE] L0005 LOADW #1566,L01 -> -(SP) JZ (SP)+ [FALSE] L0004 JUMP L0006 L0004: INC L01 JUMP L0003 L0005: STORE L01,G0c INC G0c MUL L01,#02 -> -(SP) JL (SP)+,#40 [TRUE] L0006 CALL_2N R0112 (#04) L0006: ADD #8000,L00 -> -(SP) STOREW #1566,L01,(SP)+ RTRUE Routine R0089, 2 locals STORE L01,#00 L0001: JL L01,G0c [FALSE] L0003 ADD #8000,L00 -> -(SP) LOADW #1566,L01 -> -(SP) JE (SP)+,(SP)+ [FALSE] L0002 JUMP L0004 L0002: INC L01 JUMP L0001 L0003: RFALSE L0004: STOREW #1566,L01,#00 RTRUE Routine R0090, 0 locals JE G09,#ffff [FALSE] L0001 STORE G01,G0d STORE G02,G08 JUMP L0002 L0001: DIV G09,#3c -> G01 MOD G09,#3c -> G02 L0002: RTRUE Routine R0091, 2 locals STORE G09,L00 STORE G0a,L01 STORE G0b,#00 JL L01,#00 [FALSE] L0001 SUB #00,L01 -> G0b L0001: RTRUE Routine R0092, 0 locals PRINT " [" SUB G0d,G0e -> -(SP) CALL_VN R0237 (#1007,#32,(SP)+) PRINT ".] " RTRUE Routine R0093, 2 locals STORE L01,G14 GET_PARENT G12 -> -(SP) CALL_2S R0094 ((SP)+) -> G14 JZ L01 [FALSE] L0001 JE G14,#01 [FALSE] L0001 STORE G00,G15 JZ L00 [FALSE] L0001 CALL_2N R0075 (#1f) L0001: JE L01,#01 [FALSE] L0002 JZ G14 [FALSE] L0002 STORE G15,G00 STORE G00,#13 JZ L00 [FALSE] L0002 CALL_1N R0174 CALL_VS R0237 (#1007,#09) -> -(SP) RET_POPPED L0002: JZ L01 [FALSE] L0003 JZ G14 [FALSE] L0003 STORE G00,#13 L0003: RTRUE Routine R0094, 2 locals JZ L00 [TRUE] RFALSE TEST_ATTR L00,#09 [TRUE] RTRUE GET_CHILD L00 -> -(SP) [FALSE] L0001 L0001: PULL L01 JZ L01 [TRUE] L0003 L0002: CALL_2S R0095 (L01) -> -(SP) JE (SP)+,#01 [TRUE] RTRUE GET_SIBLING L01 -> L01 [TRUE] L0002 L0003: TEST_ATTR L00,#04 [FALSE] L0006 TEST_ATTR L00,#0e [TRUE] L0004 TEST_ATTR L00,#17 [FALSE] L0005 L0004: GET_PARENT L00 -> -(SP) CALL_2S R0094 ((SP)+) -> -(SP) RET_POPPED L0005: JUMP L0008 L0006: TEST_ATTR L00,#07 [TRUE] L0007 TEST_ATTR L00,#17 [TRUE] L0007 TEST_ATTR L00,#14 [FALSE] L0008 L0007: GET_PARENT L00 -> -(SP) CALL_2S R0094 ((SP)+) -> -(SP) RET_POPPED L0008: RFALSE Routine R0095, 3 locals JZ L00 [TRUE] RFALSE TEST_ATTR L00,#09 [TRUE] RTRUE TEST_ATTR L00,#07 [TRUE] L0001 CALL_2S R0043 (L00) -> -(SP) JE (SP)+,#01 [FALSE] L0004 L0001: GET_CHILD L00 -> -(SP) [FALSE] L0002 L0002: PULL L00 JZ L00 [TRUE] L0004 L0003: CALL_2S R0095 (L00) -> -(SP) JE (SP)+,#01 [TRUE] RTRUE GET_SIBLING L00 -> L00 [TRUE] L0003 L0004: GET_PROP_ADDR L00,#18 -> L02 GET_PARENT L00 -> -(SP) JZ (SP)+ [TRUE] L0008 JZ L02 [TRUE] L0008 LOADW L02,#00 -> -(SP) JG (SP)+,G03 [FALSE] L0005 STORE G6d,#00 STORE G6c,#01 CALL_VN R0084 (L00,#18) STORE G6c,#00 JE G6d,#01 [TRUE] RTRUE JUMP L0008 L0005: STORE L01,#00 L0006: GET_PROP_ADDR L00,#18 -> Gef JZ Gef [TRUE] L0007 GET_PROP_LEN Gef -> Gef L0007: PUSH Gef MUL #02,L01 -> -(SP) JL (SP)+,(SP)+ [FALSE] L0008 LOADW L02,L01 -> -(SP) CALL_2S R0095 ((SP)+) -> -(SP) JE (SP)+,#01 [TRUE] RTRUE INC L01 JUMP L0006 L0008: RFALSE Routine R0096, 3 locals GET_PROP_ADDR L00,#29 -> -(SP) JZ (SP)+ [FALSE] L0001 CALL_VS R0112 (#07,L00) -> -(SP) RET_POPPED L0001: JE G34,G12 [FALSE] L0002 STORE G34,L00 L0002: CLEAR_ATTR G12,#17 CLEAR_ATTR G12,#03 STORE L02,L00 L0003: GET_PARENT L02 -> -(SP) JZ (SP)+ [TRUE] L0005 TEST_ATTR L02,#00 [FALSE] L0004 SET_ATTR L02,#17 L0004: GET_PARENT L02 -> L02 JUMP L0003 L0005: JE G12,#14 [FALSE] L0006 PUT_PROP G12,#2e,S029 L0006: PUT_PROP G12,#29,G15 STORE G12,L00 JE G12,#14 [FALSE] L0007 PUT_PROP G12,#2e,#ffff L0007: SET_ATTR G12,#17 SET_ATTR G12,#03 SET_ATTR G12,#00 SET_ATTR G12,#10 STORE L02,G12 L0008: GET_PARENT L02 -> -(SP) JZ (SP)+ [TRUE] L0009 GET_PARENT L02 -> L02 JUMP L0008 L0009: STORE G00,L02 GET_PROP G12,#29 -> G15 JZ G15 [FALSE] L0010 STORE G15,G00 L0010: GET_PARENT G12 -> -(SP) CALL_2S R0094 ((SP)+) -> G14 JZ G14 [FALSE] L0011 STORE G00,#13 L0011: STORE G17,L01 RTRUE Routine R0097, 3 locals SPLIT_WINDOW #01 SET_WINDOW #01 SET_CURSOR #01,#01 SET_TEXT_STYLE REVERSE LOADB #00,#21 -> L00 SUB L00,#1a -> L01 SUB L00,#0d -> L02 STORE Gef,L00 JL Gef,#01 [TRUE] L0002 L0001: PRINT_CHAR ' ' DEC Gef JZ Gef [FALSE] L0001 L0002: SET_CURSOR #01,#02 CALL_2N R0105 (G00) LOADB #00,#01 -> -(SP) AND (SP)+,#02 -> -(SP) JZ (SP)+ [FALSE] L0005 JG L00,#4c [FALSE] L0003 SET_CURSOR #01,L01 PRINT_PADDR S025 PRINT_NUM G01 SET_CURSOR #01,L02 PRINT_PADDR S026 PRINT_NUM G02 L0003: JG L00,#3f [FALSE] L0004 JG L00,#4c [TRUE] L0004 SET_CURSOR #01,L02 PRINT_NUM G01 PRINT "/" PRINT_NUM G02 L0004: JUMP L0006 L0005: SET_CURSOR #01,L01 PRINT_PADDR S027 CALL_VN R0007 (G01,G02) L0006: SET_CURSOR #01,#01 SET_TEXT_STYLE ROMAN SET_WINDOW #00 RTRUE Routine R0098, 7 locals INC G21 L0001: STORE G22,#00 CALL_1S L01 -> L03 STORE L04,G24 PRINT "--- " PRINT_PADDR L04 PRINT " --- " CALL_VS R0312 (L00,#03) -> -(SP) JZ (SP)+ [TRUE] L0002 CALL_VN R0308 (L00,#45) JUMP L0003 L0002: PRINT_PADDR L00 L0003: CALL_VN R0237 (#1007,#34,L03) PRINT "> " STORE Gec,#1926 STOREB Gec,#01,#00 CALL_1N R0097 READ Gec,#199f -> Gef LOADW #199f,#01 -> L05 JE L05,"q","quit" [TRUE] L0004 LOADB #199f,#01 -> -(SP) JZ (SP)+ [FALSE] L0006 L0004: DEC G21 JG G21,#00 [TRUE] RFALSE JZ G13 [FALSE] L0005 CALL_2N R0075 (#1f) RTRUE L0005: RFALSE L0006: CALL_2S R0059 (#01) -> L05 JZ L05 [FALSE] L0007 JUMP L0001 L0007: JL L05,#01 [TRUE] L0008 JG L05,L03 [FALSE] L0009 L0008: JUMP L0003 L0009: STORE G22,L05 CALL_1S L02 -> L06 JE L06,#02 [FALSE] L0010 JUMP L0001 L0010: JE L06,#03 [TRUE] RFALSE JUMP L0003 Routine R0099, 11 locals JZ G20 [FALSE] L0001 CALL_VS R0098 (L00,L01,L02) -> -(SP) RET_POPPED L0001: INC G21 STORE G22,#00 CALL_1S L01 -> L03 STORE L04,G24 STORE L05,G23 STORE L06,#07 L0002: STORE L09,#00 ERASE_WINDOW #ffff ADD L03,#07 -> L07 SPLIT_WINDOW L07 LOADB #00,#21 -> L07 JZ L07 [FALSE] L0003 STORE L07,#50 L0003: SET_WINDOW #01 SET_CURSOR #01,#01 SET_TEXT_STYLE REVERSE STORE Gef,L07 JL Gef,#01 [TRUE] L0005 L0004: PRINT_CHAR ' ' DEC Gef JZ Gef [FALSE] L0004 L0005: DIV L07,#02 -> -(SP) SUB (SP)+,L05 -> L08 SET_CURSOR #01,L08 PRINT_PADDR L04 SET_CURSOR #02,#01 STORE Gef,L07 JL Gef,#01 [TRUE] L0007 L0006: PRINT_CHAR ' ' DEC Gef JZ Gef [FALSE] L0006 L0007: SET_CURSOR #02,#02 PRINT_PADDR S020 SUB L07,#0c -> L08 SET_CURSOR #02,L08 PRINT_PADDR S021 SET_CURSOR #03,#01 STORE Gef,L07 JL Gef,#01 [TRUE] L0009 L0008: PRINT_CHAR ' ' DEC Gef JZ Gef [FALSE] L0008 L0009: SET_CURSOR #03,#02 PRINT_PADDR S024 SUB L07,#11 -> L08 SET_CURSOR #03,L08 JE G21,#01 [FALSE] L0010 PRINT_PADDR S022 JUMP L0011 L0010: PRINT_PADDR S023 L0011: SET_TEXT_STYLE ROMAN SET_CURSOR #05,#02 LOADW #00,#08 -> Gef OR #02,Gef -> Gef STOREW #00,#08,Gef CALL_VS R0312 (L00,#04) -> -(SP) JZ (SP)+ [TRUE] L0012 PRINT_PADDR L00 JUMP L0013 L0012: CALL_VN R0308 (L00,#45) L0013: JE L06,L09 [TRUE] L0015 JG L09,#00 [FALSE] L0014 SET_CURSOR L09,#04 PRINT " " L0014: SET_CURSOR L06,#04 PRINT ">" L0015: STORE L09,L06 READ_CHAR #01 -> L0a JE L0a,#4e,#6e,#82 [FALSE] L0017 INC L06 ADD #07,L03 -> -(SP) JE L06,(SP)+ [FALSE] L0016 STORE L06,#07 L0016: JUMP L0013 L0017: JE L0a,#50,#70,#81 [FALSE] L0019 DEC L06 JE L06,#06 [FALSE] L0018 ADD #06,L03 -> L06 L0018: JUMP L0013 L0019: JE L0a,#51,#71,#1b [TRUE] L0020 JE L0a,#83 [FALSE] L0021 L0020: JUMP L0028 L0021: JE L0a,#0a,#0d,#84 [FALSE] L0027 SET_WINDOW #00 LOADW #00,#08 -> Gef AND #fffd,Gef -> Gef STOREW #00,#08,Gef NEW_LINE NEW_LINE NEW_LINE SUB L06,#06 -> G22 CALL_VN R0308 (L01,#45) ERASE_WINDOW #ffff SPLIT_WINDOW #01 LOADB #00,#21 -> L07 JZ L07 [FALSE] L0022 STORE L07,#50 L0022: SET_WINDOW #01 SET_CURSOR #01,#01 SET_TEXT_STYLE REVERSE STORE Gef,L07 JL Gef,#01 [TRUE] L0024 L0023: PRINT_CHAR ' ' DEC Gef JZ Gef [FALSE] L0023 L0024: DIV L07,#02 -> -(SP) SUB (SP)+,G23 -> L08 SET_CURSOR #01,L08 PRINT_PADDR G24 SET_TEXT_STYLE ROMAN SET_WINDOW #00 NEW_LINE CALL_VS R0308 (L02,#45) -> L07 JE L07,#02 [FALSE] L0025 JUMP L0002 L0025: JE L07,#03 [FALSE] L0026 JUMP L0028 L0026: CALL_VN R0237 (#1007,#35) READ_CHAR #01 -> L0a JUMP L0002 L0027: JUMP L0013 L0028: DEC G21 JG G21,#00 [TRUE] RFALSE LOADW #00,#08 -> Gef AND #fffd,Gef -> Gef STOREW #00,#08,Gef SET_CURSOR #01,#01 ERASE_WINDOW #ffff SET_WINDOW #00 NEW_LINE NEW_LINE NEW_LINE JZ G13 [FALSE] L0029 CALL_2N R0075 (#1f) RTRUE L0029: RTRUE Routine R0100, 6 locals CALL_VS R0311 (L00,#31) -> -(SP) JZ (SP)+ [TRUE] L0002 MUL G7c,#01 -> -(SP) ADD L01,(SP)+ -> -(SP) GET_PROP_ADDR L00,#31 -> -(SP) LOADW (SP)+,(SP)+ -> -(SP) PRINT_PADDR (SP)+ PRINT " " JZ L02 [TRUE] L0001 RTRUE L0001: CALL_2N R0101 (L00) RTRUE L0002: CALL_2S R0061 (L00) -> L03 JZ L02 [TRUE] L0004 JL L03,#03 [TRUE] L0003 JL L03,#06 [TRUE] L0004 JL L03,#09 [FALSE] L0004 L0003: ADD L03,#03 -> L03 L0004: LOADW #1c3b,L03 -> L03 MUL L03,#01 -> -(SP) ADD G7c,(SP)+ -> -(SP) MUL #0c,(SP)+ -> -(SP) ADD #1c23,(SP)+ -> L04 ADD L01,#03 -> -(SP) LOADW L04,(SP)+ -> -(SP) LOADW L04,L01 -> -(SP) JE (SP)+,(SP)+ [TRUE] L0005 STORE L05,#01 L0005: JZ G04 [TRUE] L0008 JZ L05 [TRUE] L0008 STOREW #1c53,#00,#a0 OUTPUT_STREAM REDIRECT_ENABLE,#1c53 JZ L02 [TRUE] L0006 CALL_2N R0106 (L02) JUMP L0007 L0006: CALL_2N R0101 (L00) L0007: OUTPUT_STREAM #fffd ADD #1c53,#02 -> -(SP) CALL_2S R0004 ((SP)+) -> -(SP) MUL #03,(SP)+ -> -(SP) ADD L01,(SP)+ -> L01 L0008: LOADW L04,L01 -> -(SP) PRINT_PADDR (SP)+ JZ L02 [TRUE] L0009 RTRUE L0009: CALL_2N R0101 (L00) RTRUE Routine R0101, 1 local JZ L00 [FALSE] L0001 PRINT_PADDR S035 RTRUE L0001: CALL_VS R0317 (L00) -> -(SP) PULL Gef JE Gef,#03 [FALSE] L0002 PRINT "" RTRUE L0002: JE Gef,#04 [FALSE] L0003 PRINT "" RTRUE L0003: JE Gef,#00 [FALSE] L0004 PRINT "" RTRUE L0004: JE L00,G12 [FALSE] L0005 PRINT_PADDR S030 RTRUE L0005: JZ G5a [TRUE] L0006 GET_PROP_ADDR L00,#2f -> -(SP) JZ (SP)+ [TRUE] L0006 CALL_VS R0082 (L00,#2f,#01) -> -(SP) JZ (SP)+ [FALSE] RTRUE L0006: GET_PROP_ADDR L00,#2e -> -(SP) JZ (SP)+ [TRUE] L0007 CALL_VS R0082 (L00,#2e,#01) -> -(SP) JZ (SP)+ [FALSE] RTRUE L0007: PRINT_OBJ L00 RTRUE Routine R0102, 2 locals STORE L01,G5a STORE G5a,#01 TEST_ATTR L00,#10 [FALSE] L0001 STORE G5a,#ffff CALL_2N R0101 (L00) RTRUE L0001: CALL_VS R0311 (L00,#25) -> -(SP) JZ (SP)+ [TRUE] L0002 CALL_VN R0082 (L00,#25,#01) PRINT " " CALL_2N R0101 (L00) STORE G5a,L01 RTRUE L0002: CALL_VN R0100 (L00,#02) STORE G5a,L01 RTRUE Routine R0103, 2 locals STORE L01,G5a STORE G5a,#00 TEST_ATTR L00,#10 [FALSE] L0001 STORE G5a,#ffff CALL_2N R0101 (L00) STORE G5a,L01 RTRUE L0001: CALL_VN R0100 (L00,#01) STORE G5a,L01 RTRUE Routine R0104, 2 locals STORE L01,G5a STORE G5a,#00 TEST_ATTR L00,#10 [FALSE] L0001 STORE G5a,#ffff CALL_2N R0101 (L00) STORE G5a,L01 RTRUE L0001: CALL_VN R0100 (L00,#00) STORE G5a,L01 RTRUE Routine R0105, 2 locals STORE L01,G5a STORE G5a,#ffff CALL_2N R0101 (L00) STORE G5a,L01 RTRUE Routine R0106, 1 local CALL_2N R0006 (L00) RTRUE Routine R0107, 3 locals LOADW #1bd1,#00 -> L02 STORE L01,#01 JUMP L0002 L0001: ADD L01,#02 -> L01 L0002: JG L01,L02 [TRUE] L0004 LOADW #1bd1,L01 -> -(SP) JE L00,(SP)+ [FALSE] L0003 ADD L01,#01 -> -(SP) LOADW #1bd1,(SP)+ -> -(SP) RET_POPPED L0003: JUMP L0001 L0004: RFALSE Routine R0108, 1 local LOADW L00,#00 -> -(SP) JZ (SP)+ [FALSE] L0001 CALL_2S R0112 (#08) -> -(SP) RET_POPPED L0001: LOADW L00,#00 -> -(SP) RANDOM (SP)+ -> -(SP) LOADW L00,(SP)+ -> -(SP) RET_POPPED Routine R0109, 4 locals JE L00,L01 [FALSE] L0001 RFALSE L0001: JL L00,#00 [FALSE] L0002 JL L01,#00 [TRUE] L0002 RTRUE L0002: JL L00,#00 [TRUE] L0003 JL L01,#00 [FALSE] L0003 RET #ffff L0003: AND L00,#7fff -> L02 AND L01,#7fff -> L03 JG L02,L03 [FALSE] L0004 RTRUE L0004: RET #ffff Routine R0110, 1 local JZ #3269 [TRUE] L0001 SET_TEXT_STYLE BOLDFACE PRINT_PADDR S001 SET_TEXT_STYLE ROMAN L0001: JZ #326d [TRUE] L0002 PRINT_PADDR S002 L0002: PRINT "Release " LOADW #00,#01 -> -(SP) AND (SP)+,#03ff -> -(SP) PRINT_NUM (SP)+ PRINT " / Serial number " STORE L00,#12 L0003: JL L00,#18 [FALSE] L0004 LOADB #00,L00 -> -(SP) PRINT_CHAR (SP)+ INC L00 JUMP L0003 L0004: PRINT " / Inform v" LOADB #00,#3c -> Gef PRINT_CHAR Gef LOADB #00,#3d -> Gef PRINT_CHAR Gef LOADB #00,#3e -> Gef PRINT_CHAR Gef LOADB #00,#3f -> Gef PRINT_CHAR Gef PRINT " Library " PRINT_PADDR S004 NEW_LINE JG G04,#00 [FALSE] L0005 PRINT "Standard interpreter " DIV G04,#0100 -> -(SP) PRINT_NUM (SP)+ PRINT "." MOD G04,#0100 -> -(SP) PRINT_NUM (SP)+ PRINT " " L0005: RTRUE Routine R0111, 0 locals Action routine for: "version" CALL_1N R0110 PRINT "Interpreter " LOADB #00,#1e -> -(SP) PRINT_NUM (SP)+ PRINT " Version " LOADB #00,#1f -> -(SP) PRINT_CHAR (SP)+ PRINT " / " PRINT "Library serial number " PRINT_PADDR S003 PRINT " " RTRUE Routine R0112, 3 locals PRINT "** Library error " PRINT_NUM L00 PRINT " (" PRINT_NUM L01 PRINT "," PRINT_NUM L02 PRINT_RET ") **" Routine R0113, 0 locals Action routine for: "places" CALL_1N R0138 RTRUE Routine R0114, 0 locals Action routine for: "objects" CALL_1N R0139 RTRUE Routine R0115, 2 locals L0001: GET_SIBLING L00 -> L00 [FALSE] L0002 L0002: JZ L00 [FALSE] L0003 RFALSE L0003: JZ G1a [TRUE] L0004 GET_PROP L00,#19 -> -(SP) JE (SP)+,G1a [TRUE] L0004 JUMP L0001 L0004: AND G19,#0200 -> -(SP) JZ (SP)+ [TRUE] L0005 JZ L01 [FALSE] L0005 TEST_ATTR L00,#19 [TRUE] L0005 JUMP L0001 L0005: AND G19,#0800 -> -(SP) JZ (SP)+ [TRUE] L0007 TEST_ATTR L00,#03 [TRUE] L0006 TEST_ATTR L00,#11 [FALSE] L0007 L0006: JUMP L0001 L0007: RET L00 orphan code fragment: RTRUE Routine R0116, 1 local AND G19,#20 -> -(SP) JZ (SP)+ [FALSE] RTRUE AND G19,#10 -> -(SP) JZ (SP)+ [TRUE] RFALSE TEST_ATTR L00,#17 [TRUE] RTRUE TEST_ATTR L00,#14 [TRUE] RTRUE TEST_ATTR L00,#04 [FALSE] L0001 TEST_ATTR L00,#0e [TRUE] RTRUE L0001: RFALSE Routine R0117, 2 locals GET_CHILD L00 -> -(SP) [FALSE] L0001 L0001: JZ (SP)+ [TRUE] L0002 CALL_2S R0116 (L00) -> -(SP) JZ (SP)+ [FALSE] RFALSE L0002: GET_CHILD L01 -> -(SP) [FALSE] L0003 L0003: JZ (SP)+ [TRUE] L0004 CALL_2S R0116 (L01) -> -(SP) JZ (SP)+ [FALSE] RFALSE L0004: AND G19,#84 -> -(SP) JZ (SP)+ [TRUE] L0008 TEST_ATTR L00,#1a [TRUE] L0005 TEST_ATTR L01,#1a [TRUE] RFALSE L0005: TEST_ATTR L01,#1a [TRUE] L0006 TEST_ATTR L00,#1a [TRUE] RFALSE L0006: TEST_ATTR L00,#09 [TRUE] L0007 TEST_ATTR L01,#09 [TRUE] RFALSE L0007: TEST_ATTR L01,#09 [TRUE] L0008 TEST_ATTR L00,#09 [TRUE] RFALSE L0008: CALL_VS R0034 (L00,L01) -> -(SP) RET_POPPED Routine R0118, 2 locals L0001: GET_CHILD L00 -> -(SP) [FALSE] L0002 L0002: JZ (SP)+ [TRUE] L0008 GET_CHILD L00 -> -(SP) [FALSE] L0003 L0003: GET_PROP (SP)+,#19 -> -(SP) JE (SP)+,L01 [TRUE] L0005 GET_CHILD L00 -> -(SP) [FALSE] L0004 L0004: INSERT_OBJ (SP)+,"outside" JUMP L0007 L0005: GET_CHILD L00 -> -(SP) [FALSE] L0006 L0006: INSERT_OBJ (SP)+,"inside" L0007: JUMP L0001 L0008: GET_CHILD "inside" -> -(SP) [FALSE] L0009 L0009: JZ (SP)+ [TRUE] L0011 GET_CHILD "inside" -> -(SP) [FALSE] L0010 L0010: INSERT_OBJ (SP)+,L00 JUMP L0008 L0011: GET_CHILD "outside" -> -(SP) [FALSE] L0012 L0012: JZ (SP)+ [TRUE] L0014 GET_CHILD "outside" -> -(SP) [FALSE] L0013 L0013: INSERT_OBJ (SP)+,L00 JUMP L0011 L0014: RTRUE Routine R0119, 4 locals L0001: STORE L01,L00 JUMP L0003 L0002: GET_SIBLING L01 -> L01 [FALSE] L0003 L0003: JZ L01 [TRUE] L0013 GET_PROP L01,#19 -> L02 JZ L02 [TRUE] L0012 GET_SIBLING L01 -> L01 [FALSE] L0004 L0004: JZ L01 [TRUE] L0006 GET_PROP L01,#19 -> -(SP) JE (SP)+,L02 [FALSE] L0006 GET_SIBLING L01 -> L01 [FALSE] L0005 L0005: JUMP L0004 L0006: JZ L01 [TRUE] RFALSE GET_SIBLING L01 -> L03 [FALSE] L0007 L0007: JUMP L0009 L0008: GET_SIBLING L03 -> L03 [FALSE] L0009 L0009: JZ L03 [TRUE] L0012 GET_PROP L03,#19 -> -(SP) JE (SP)+,L02 [FALSE] L0011 GET_PARENT L00 -> -(SP) CALL_VN R0118 ((SP)+,L02) GET_PARENT L00 -> -(SP) GET_CHILD (SP)+ -> L00 [FALSE] L0010 L0010: JUMP L0001 L0011: JUMP L0008 L0012: JUMP L0002 L0013: RTRUE Routine R0120, 1 local JZ L00 [FALSE] L0001 RTRUE L0001: STORE Gef,L00 JL Gef,#01 [TRUE] L0003 L0002: PRINT_CHAR ' ' DEC Gef JZ Gef [FALSE] L0002 L0003: RTRUE Routine R0121, 3 locals GET_PARENT L00 -> -(SP) GET_CHILD (SP)+ -> -(SP) [FALSE] L0001 L0001: JE L00,(SP)+ [FALSE] L0002 CALL_2N R0119 (L00) GET_PARENT L00 -> -(SP) GET_CHILD (SP)+ -> L00 [FALSE] L0002 L0002: STORE G19,L01 STORE G1d,#00 CALL_VN R0122 (L00,L02) RTRUE Routine R0122, 15 locals JG L01,#00 [FALSE] L0002 GET_PARENT L00 -> -(SP) GET_CHILD (SP)+ -> -(SP) [FALSE] L0001 L0001: JE L00,(SP)+ [FALSE] L0002 CALL_2N R0119 (L00) GET_PARENT L00 -> -(SP) GET_CHILD (SP)+ -> L00 [FALSE] L0002 L0002: JZ L00 [TRUE] RFALSE AND G19,#0200 -> -(SP) JZ (SP)+ [TRUE] L0004 JZ L01 [FALSE] L0004 TEST_ATTR L00,#19 [TRUE] L0004 GET_SIBLING L00 -> L00 [FALSE] L0003 L0003: JUMP L0002 L0004: AND G19,#0800 -> -(SP) JZ (SP)+ [TRUE] L0007 TEST_ATTR L00,#03 [TRUE] L0005 TEST_ATTR L00,#11 [FALSE] L0007 L0005: GET_SIBLING L00 -> L00 [FALSE] L0006 L0006: JUMP L0002 L0007: JUMP L0008 L0008: ADD #1826,L02 -> L03 ADD #17a6,L02 -> L04 STORE L05,L00 STORE L06,#00 JUMP L0010 L0009: CALL_VS R0115 (L05,L01) -> L05 INC L06 L0010: JZ L05 [TRUE] L0012 ADD L06,L02 -> -(SP) JL (SP)+,#80 [FALSE] L0012 STOREB L03,L06,#00 GET_PROP L05,#17 -> -(SP) JZ (SP)+ [TRUE] L0011 INC L07 L0011: JUMP L0009 L0012: AND G19,#0400 -> -(SP) JZ (SP)+ [TRUE] L0017 JE L06,#01 [FALSE] L0013 TEST_ATTR L00,#1e [TRUE] L0013 PRINT_PADDR S036 JUMP L0014 L0013: PRINT_PADDR S037 L0014: AND G19,#01 -> -(SP) JZ (SP)+ [TRUE] L0015 PRINT ": " JUMP L0016 L0015: PRINT_CHAR ' ' L0016: SUB G19,#0400 -> G19 L0017: ADD L02,L06 -> -(SP) ADD (SP)+,#01 -> L02 JL L07,#02 [FALSE] L0018 JUMP L0068 L0018: STORE L0b,#01 STORE L05,L00 STORE L07,#00 JUMP L0020 L0019: CALL_VS R0115 (L05,L01) -> L05 INC L07 L0020: JL L07,L06 [FALSE] L0026 LOADB L03,L07 -> -(SP) JZ (SP)+ [FALSE] L0025 STOREB L03,L07,L0b STOREB L04,L0b,#01 CALL_VS R0115 (L05,L01) -> L09 ADD L07,#01 -> L0a JUMP L0022 L0021: CALL_VS R0115 (L09,L01) -> L09 INC L0a L0022: JZ L09 [TRUE] L0024 JL L0a,L06 [FALSE] L0024 LOADB L03,L0a -> -(SP) JZ (SP)+ [FALSE] L0023 GET_PROP L05,#17 -> -(SP) JZ (SP)+ [TRUE] L0023 GET_PROP L09,#17 -> -(SP) JZ (SP)+ [TRUE] L0023 CALL_VS R0117 (L05,L09) -> -(SP) JE (SP)+,#01 [FALSE] L0023 LOADB L04,L0b -> -(SP) ADD (SP)+,#01 -> -(SP) STOREB L04,L0b,(SP)+ STOREB L03,L0a,L0b L0023: JUMP L0021 L0024: INC L0b L0025: JUMP L0019 L0026: DEC L0b STORE L05,#01 STORE L06,L00 STORE L07,#00 JUMP L0028 L0027: INC L05 INC L0d L0028: JG L05,L0b [TRUE] L0032 L0029: LOADB L03,L07 -> -(SP) JE (SP)+,L05 [TRUE] L0030 SUB #00,L05 -> -(SP) LOADB L03,L07 -> -(SP) JE (SP)+,(SP)+ [TRUE] L0030 INC L07 CALL_VS R0115 (L06,L01) -> L06 JUMP L0029 L0030: LOADB L04,L05 -> L0a GET_PROP L06,#19 -> -(SP) JE (SP)+,#00,G1a [TRUE] L0031 GET_PROP L06,#19 -> -(SP) CALL_2S R0081 ((SP)+) -> -(SP) JE (SP)+,#02,#03 [FALSE] L0031 GET_PROP L06,#19 -> -(SP) JE (SP)+,L0e [FALSE] L0031 DEC L0d L0031: GET_PROP L06,#19 -> L0e JUMP L0027 L0032: DEC L0d STORE L05,#01 STORE L06,L00 STORE L07,#00 STORE L0e,#00 JUMP L0034 L0033: INC L05 DEC L0d L0034: JL L0d,#00 [TRUE] L0067 L0035: LOADB L03,L07 -> -(SP) JE (SP)+,L05 [TRUE] L0036 SUB #00,L05 -> -(SP) LOADB L03,L07 -> -(SP) JE (SP)+,(SP)+ [TRUE] L0036 INC L07 CALL_VS R0115 (L06,L01) -> L06 JUMP L0035 L0036: GET_PROP L06,#19 -> -(SP) JE (SP)+,#00,G1a [TRUE] L0056 GET_PROP L06,#19 -> -(SP) JE (SP)+,L0e [FALSE] L0037 INC L0d JUMP L0066 L0037: CALL_VS R0115 (L06,L01) -> L08 JZ L08 [TRUE] L0038 GET_PROP L06,#19 -> -(SP) GET_PROP L08,#19 -> -(SP) JE (SP)+,(SP)+ [TRUE] L0039 L0038: JUMP L0056 L0039: GET_PROP L06,#19 -> -(SP) CALL_2S R0081 ((SP)+) -> L08 JE L08,#02,#03 [FALSE] L0056 STORE L0c,L06 STORE G1c,#01 STORE L09,L07 STORE L0a,L05 L0040: JL L0a,L0b [FALSE] L0044 GET_PROP L06,#19 -> -(SP) GET_PROP L0c,#19 -> -(SP) JE (SP)+,(SP)+ [FALSE] L0044 INC L0a L0041: LOADB L03,L09 -> -(SP) JE (SP)+,L0a [TRUE] L0042 SUB #00,L0a -> -(SP) LOADB L03,L09 -> -(SP) JE (SP)+,(SP)+ [TRUE] L0042 INC L09 CALL_VS R0115 (L0c,L01) -> L0c JUMP L0041 L0042: GET_PROP L06,#19 -> -(SP) GET_PROP L0c,#19 -> -(SP) JE (SP)+,(SP)+ [FALSE] L0043 INC G1c L0043: JUMP L0040 L0044: JE G1c,#01 [FALSE] L0045 JUMP L0056 L0045: AND G19,#02 -> -(SP) JZ (SP)+ [TRUE] L0046 ADD L01,G1d -> -(SP) MUL #02,(SP)+ -> -(SP) CALL_2N R0120 ((SP)+) L0046: JE L08,#03 [FALSE] L0050 STORE L0c,#00 STORE L09,#00 L0047: JL L09,G1c [FALSE] L0048 ADD L09,L05 -> -(SP) LOADB L04,(SP)+ -> -(SP) ADD L0c,(SP)+ -> L0c INC L09 JUMP L0047 L0048: CALL_2N R0106 (L0c) PRINT " " GET_PROP L06,#19 -> -(SP) PRINT_PADDR (SP)+ AND G19,#08 -> -(SP) JZ (SP)+ [TRUE] L0049 PRINT " (" L0049: AND G19,#02 -> -(SP) JZ (SP)+ [TRUE] L0050 PRINT ": " L0050: STORE L0c,G19 JE L08,#03 [TRUE] L0051 STORE G1e,#01 STORE G31,L06 ADD L01,G1d -> G32 CALL_VS R0084 (L06,#19) -> -(SP) JE (SP)+,#01 [FALSE] L0051 JUMP L0054 L0051: GET_PROP L06,#19 -> G1a STORE G1b,L06 INC G1d CALL_VN R0122 (L06,L01,L02) DEC G1d STORE G1a,#00 STORE G1b,#00 JE L08,#03 [FALSE] L0053 AND L0c,#08 -> -(SP) JZ (SP)+ [TRUE] L0052 PRINT ")" L0052: JUMP L0054 L0053: STORE G1e,#02 STORE G31,L06 ADD L01,G1d -> G32 CALL_VN R0084 (L06,#19) L0054: AND L0c,#01 -> -(SP) JZ (SP)+ [TRUE] L0055 AND G19,#01 -> -(SP) JZ (SP)+ [FALSE] L0055 NEW_LINE L0055: STORE G19,L0c GET_PROP L06,#19 -> L0e JUMP L0064 L0056: CALL_VS R0123 (L06,L01) -> -(SP) JE (SP)+,#01 [FALSE] L0057 JUMP L0066 L0057: LOADB L04,L05 -> -(SP) JE (SP)+,#01 [FALSE] L0061 AND G19,#1000 -> -(SP) JZ (SP)+ [TRUE] L0058 CALL_2N R0105 (L06) JUMP L0060 L0058: AND G19,#0100 -> -(SP) JZ (SP)+ [TRUE] L0059 CALL_2N R0103 (L06) JUMP L0060 L0059: CALL_2N R0102 (L06) L0060: JUMP L0063 L0061: AND G19,#0100 -> -(SP) JZ (SP)+ [TRUE] L0062 LOADB L04,L05 -> -(SP) CALL_VN R0100 (L06,#01,(SP)+) L0062: LOADB L04,L05 -> -(SP) CALL_2N R0106 ((SP)+) PRINT " " CALL_VN R0082 (L06,#17,#01) L0063: CALL_VN R0124 (L06,L01,L02) L0064: AND G19,#08 -> -(SP) JZ (SP)+ [TRUE] L0066 JE L0d,#01 [FALSE] L0065 PRINT_PADDR S040 L0065: JG L0d,#01 [FALSE] L0066 PRINT ", " L0066: JUMP L0033 L0067: RTRUE L0068: STORE L0b,L06 STORE L05,#01 STORE L06,L00 JUMP L0070 L0069: CALL_VS R0115 (L06,L01) -> L06 INC L05 INC L0d L0070: JG L05,L0b [TRUE] L0072 GET_PROP L06,#19 -> -(SP) JE (SP)+,#00,G1a [TRUE] L0071 GET_PROP L06,#19 -> -(SP) CALL_2S R0081 ((SP)+) -> -(SP) JE (SP)+,#02,#03 [FALSE] L0071 GET_PROP L06,#19 -> -(SP) JE (SP)+,L0e [FALSE] L0071 DEC L0d L0071: GET_PROP L06,#19 -> L0e JUMP L0069 L0072: STORE L05,#01 STORE L06,L00 STORE L0e,#00 JUMP L0074 L0073: CALL_VS R0115 (L06,L01) -> L06 INC L05 L0074: JG L05,L0d [TRUE] L0095 GET_PROP L06,#19 -> -(SP) JE (SP)+,#00,G1a [TRUE] L0087 GET_PROP L06,#19 -> -(SP) JE (SP)+,L0e [FALSE] L0075 DEC L05 JUMP L0094 L0075: CALL_VS R0115 (L06,L01) -> L07 JZ L07 [TRUE] L0076 GET_PROP L06,#19 -> -(SP) GET_PROP L07,#19 -> -(SP) JE (SP)+,(SP)+ [TRUE] L0077 L0076: JUMP L0087 L0077: GET_PROP L06,#19 -> -(SP) CALL_2S R0081 ((SP)+) -> L07 JE L07,#02,#03 [FALSE] L0087 AND G19,#02 -> -(SP) JZ (SP)+ [TRUE] L0078 ADD L01,G1d -> -(SP) MUL #02,(SP)+ -> -(SP) CALL_2N R0120 ((SP)+) L0078: JE L07,#03 [FALSE] L0081 STORE L0c,L06 STORE L09,#00 L0079: CALL_VS R0115 (L0c,L01) -> L0c INC L09 GET_PROP L06,#19 -> -(SP) GET_PROP L0c,#19 -> -(SP) JE (SP)+,(SP)+ [TRUE] L0079 CALL_2N R0106 (L09) PRINT " " GET_PROP L06,#19 -> -(SP) PRINT_PADDR (SP)+ AND G19,#08 -> -(SP) JZ (SP)+ [TRUE] L0080 PRINT " (" L0080: AND G19,#02 -> -(SP) JZ (SP)+ [TRUE] L0081 PRINT ": " L0081: STORE L0c,G19 JE L07,#03 [TRUE] L0082 STORE G1e,#01 STORE G31,L06 ADD L01,G1d -> G32 CALL_VS R0084 (L06,#19) -> -(SP) JE (SP)+,#01 [FALSE] L0082 JUMP L0085 L0082: GET_PROP L06,#19 -> G1a STORE G1b,L06 INC G1d CALL_VN R0122 (L06,L01,L02) DEC G1d STORE G1a,#00 STORE G1b,#00 JE L07,#03 [FALSE] L0084 AND L0c,#08 -> -(SP) JZ (SP)+ [TRUE] L0083 PRINT ")" L0083: JUMP L0085 L0084: STORE G1e,#02 STORE G31,L06 ADD L01,G1d -> G32 CALL_VN R0084 (L06,#19) L0085: AND L0c,#01 -> -(SP) JZ (SP)+ [TRUE] L0086 AND G19,#01 -> -(SP) JZ (SP)+ [FALSE] L0086 NEW_LINE L0086: STORE G19,L0c GET_PROP L06,#19 -> L0e JUMP L0092 L0087: CALL_VS R0123 (L06,L01) -> -(SP) JE (SP)+,#01 [FALSE] L0088 JUMP L0094 L0088: AND G19,#1000 -> -(SP) JZ (SP)+ [TRUE] L0089 CALL_2N R0105 (L06) JUMP L0091 L0089: AND G19,#0100 -> -(SP) JZ (SP)+ [TRUE] L0090 CALL_2N R0103 (L06) JUMP L0091 L0090: CALL_2N R0102 (L06) L0091: CALL_VN R0124 (L06,L01,L02) L0092: AND G19,#08 -> -(SP) JZ (SP)+ [TRUE] L0094 SUB L0d,#01 -> -(SP) JE L05,(SP)+ [FALSE] L0093 PRINT_PADDR S040 L0093: SUB L0d,#01 -> -(SP) JL L05,(SP)+ [FALSE] L0094 PRINT ", " L0094: JUMP L0073 L0095: RTRUE Routine R0123, 3 locals AND G19,#02 -> -(SP) JZ (SP)+ [TRUE] L0001 ADD L01,G1d -> -(SP) MUL #02,(SP)+ -> -(SP) CALL_2N R0120 ((SP)+) L0001: AND G19,#04 -> -(SP) JZ (SP)+ [TRUE] L0002 GET_PROP L00,#16 -> -(SP) JZ (SP)+ [TRUE] L0002 STORE G1e,#01 CALL_VS R0082 (L00,#16,#01) -> L02 JE L02,#01 [FALSE] L0002 AND G19,#01 -> -(SP) JZ (SP)+ [TRUE] L0002 NEW_LINE L0002: RET L02 Routine R0124, 8 locals AND G19,#80 -> -(SP) JZ (SP)+ [TRUE] L0012 STORE L07,#00 TEST_ATTR L00,#09 [FALSE] L0001 TEST_ATTR G00,#09 [TRUE] L0001 ADD L07,#01 -> L07 L0001: TEST_ATTR L00,#04 [FALSE] L0002 TEST_ATTR L00,#0e [TRUE] L0002 ADD L07,#02 -> L07 L0002: TEST_ATTR L00,#04 [FALSE] L0005 TEST_ATTR L00,#0e [TRUE] L0003 TEST_ATTR L00,#17 [FALSE] L0005 L0003: GET_CHILD L00 -> -(SP) [FALSE] L0004 L0004: JZ (SP)+ [FALSE] L0005 ADD L07,#04 -> L07 L0005: JE L07,#01 [FALSE] L0006 CALL_VN R0237 (#1006,#01,L00) L0006: JE L07,#02 [FALSE] L0007 CALL_VN R0237 (#1006,#02,L00) L0007: JE L07,#03 [FALSE] L0008 CALL_VN R0237 (#1006,#03,L00) L0008: JE L07,#04 [FALSE] L0009 CALL_VN R0237 (#1006,#04,L00) L0009: JE L07,#05 [FALSE] L0010 CALL_VN R0237 (#1006,#05,L00) L0010: JE L07,#06 [FALSE] L0011 CALL_VN R0237 (#1006,#06,L00) L0011: JE L07,#07 [FALSE] L0012 CALL_VN R0237 (#1006,#07,L00) L0012: AND G19,#04 -> -(SP) JZ (SP)+ [TRUE] L0030 GET_PROP L00,#16 -> -(SP) JZ (SP)+ [TRUE] L0014 STORE G1e,#02 CALL_VS R0084 (L00,#16) -> -(SP) JZ (SP)+ [TRUE] L0014 AND G19,#01 -> -(SP) JZ (SP)+ [TRUE] L0013 NEW_LINE L0013: RTRUE L0014: TEST_ATTR L00,#09 [FALSE] L0015 TEST_ATTR L00,#1a [FALSE] L0015 CALL_VN R0237 (#1006,#08) STORE L04,#01 JUMP L0017 L0015: TEST_ATTR L00,#09 [FALSE] L0016 CALL_VN R0237 (#1006,#09,L00) STORE L04,#01 L0016: TEST_ATTR L00,#1a [FALSE] L0017 CALL_VN R0237 (#1006,#0a,L00) STORE L04,#01 L0017: TEST_ATTR L00,#04 [FALSE] L0029 TEST_ATTR L00,#0f [FALSE] L0026 JE L04,#01 [FALSE] L0018 PRINT_PADDR S040 JUMP L0019 L0018: CALL_VN R0237 (#1006,#0b,L00) L0019: TEST_ATTR L00,#0e [FALSE] L0023 GET_CHILD L00 -> -(SP) [FALSE] L0020 L0020: JZ (SP)+ [FALSE] L0021 CALL_VN R0237 (#1006,#0d,L00) JUMP L0022 L0021: CALL_VN R0237 (#1006,#0c,L00) L0022: JUMP L0025 L0023: TEST_ATTR L00,#0a [FALSE] L0024 TEST_ATTR L00,#0b [FALSE] L0024 CALL_VN R0237 (#1006,#0f,L00) JUMP L0025 L0024: CALL_VN R0237 (#1006,#0e,L00) L0025: STORE L04,#01 JUMP L0029 L0026: GET_CHILD L00 -> -(SP) [FALSE] L0027 L0027: JZ (SP)+ [FALSE] L0029 TEST_ATTR L00,#17 [FALSE] L0029 JE L04,#01 [FALSE] L0028 CALL_VN R0237 (#1006,#10,L00) JUMP L0029 L0028: CALL_VN R0237 (#1006,#11,L00) L0029: JE L04,#01 [FALSE] L0030 PRINT ")" L0030: AND G19,#0800 -> -(SP) JZ (SP)+ [FALSE] L0034 STORE Gef,#00 GET_CHILD L00 -> -(SP) [FALSE] L0032 L0031: INC Gef GET_SIBLING (SP)+ -> -(SP) [TRUE] L0031 L0032: PULL Gee STORE L05,Gef GET_CHILD L00 -> L04 [FALSE] L0033 L0033: JUMP L0038 L0034: STORE L05,#00 GET_CHILD L00 -> -(SP) [FALSE] L0035 L0035: PULL L06 JZ L06 [TRUE] L0038 L0036: TEST_ATTR L06,#03 [TRUE] L0037 TEST_ATTR L06,#11 [TRUE] L0037 INC L05 STORE L04,L06 L0037: GET_SIBLING L06 -> L06 [TRUE] L0036 L0038: AND G19,#20 -> -(SP) JZ (SP)+ [TRUE] L0040 JG L05,#00 [FALSE] L0040 AND G19,#08 -> -(SP) JZ (SP)+ [TRUE] L0039 CALL_VN R0237 (#1006,#12,L00) L0039: STORE L03,#01 L0040: AND G19,#10 -> -(SP) JZ (SP)+ [TRUE] L0051 JG L05,#00 [FALSE] L0051 TEST_ATTR L00,#14 [FALSE] L0045 AND G19,#08 -> -(SP) JZ (SP)+ [TRUE] L0044 AND G19,#40 -> -(SP) JZ (SP)+ [TRUE] L0041 CALL_VN R0237 (#1006,#13,L00) JUMP L0042 L0041: CALL_VN R0237 (#1006,#14,L00) L0042: TEST_ATTR L00,#00 [FALSE] L0043 PRINT_PADDR S041 JUMP L0044 L0043: PRINT_PADDR S042 L0044: STORE L03,#01 L0045: TEST_ATTR L00,#04 [FALSE] L0051 TEST_ATTR L00,#0e [TRUE] L0046 TEST_ATTR L00,#17 [FALSE] L0051 L0046: AND G19,#08 -> -(SP) JZ (SP)+ [TRUE] L0050 AND G19,#40 -> -(SP) JZ (SP)+ [TRUE] L0047 CALL_VN R0237 (#1006,#15,L00) JUMP L0048 L0047: CALL_VN R0237 (#1006,#16,L00) L0048: TEST_ATTR L00,#00 [FALSE] L0049 PRINT_PADDR S041 JUMP L0050 L0049: PRINT_PADDR S042 L0050: STORE L03,#01 L0051: JE L03,#01 [FALSE] L0054 AND G19,#08 -> -(SP) JZ (SP)+ [TRUE] L0054 JG L05,#01 [TRUE] L0052 TEST_ATTR L04,#1e [FALSE] L0053 L0052: PRINT_PADDR S039 JUMP L0054 L0053: PRINT_PADDR S038 L0054: AND G19,#01 -> -(SP) JZ (SP)+ [TRUE] L0055 NEW_LINE L0055: JE L03,#01 [FALSE] L0057 GET_CHILD L00 -> L00 [FALSE] L0056 L0056: ADD L01,#01 -> -(SP) CALL_VN R0122 (L00,(SP)+,L02) AND G19,#40 -> -(SP) JZ (SP)+ [TRUE] L0057 PRINT ")" L0057: RTRUE Routine R0125, 5 locals STORE L00,#01 L0001: GET_PROP_ADDR L00,#27 -> L04 JZ L04 [TRUE] L0008 TEST_ATTR L00,#01 [TRUE] L0008 LOADW L04,#00 -> -(SP) CALL_2S R0081 ((SP)+) -> -(SP) JE (SP)+,#02 [FALSE] L0003 LOADW L04,#00 -> -(SP) CALL_1S (SP)+ -> -(SP) JZ (SP)+ [TRUE] L0002 INSERT_OBJ L00,G00 L0002: JUMP L0008 L0003: GET_PROP_ADDR L00,#27 -> Gef JZ Gef [TRUE] L0004 GET_PROP_LEN Gef -> Gef L0004: STORE L01,Gef STORE L02,#00 L0005: DIV L01,#02 -> -(SP) JL L02,(SP)+ [FALSE] L0008 LOADW L04,L02 -> L03 JE L03,G00 [TRUE] L0006 JIN L03,G00 [FALSE] L0007 L0006: INSERT_OBJ L00,G00 L0007: INC L02 JUMP L0005 L0008: INC L00 JG L00,#0066 [TRUE] L0009 JUMP L0001 L0009: RTRUE Routine R0126, 2 locals INSERT_OBJ G12,L00 L0001: GET_PARENT L00 -> -(SP) JZ (SP)+ [TRUE] L0002 GET_PARENT L00 -> L00 JUMP L0001 L0002: STORE G00,L00 STORE G15,G00 CALL_2N R0093 (#01) JZ L01 [FALSE] L0003 CALL_2N R0075 (#1f) L0003: JE L01,#01 [FALSE] L0004 CALL_1N R0174 CALL_1N R0175 L0004: JE L01,#02 [FALSE] L0005 CALL_2N R0176 (#01) L0005: RTRUE Routine R0127, 1 local CALL_VN R0075 (#1b,L00) CALL_2N R0075 (#1f) RTRUE Routine R0128, 1 local L0001: STORE Gec,#1926 STOREB Gec,#01,#00 CALL_1N R0097 READ Gec,#199f -> Gef LOADW #199f,#01 -> L00 JE L00,"y","yes","yes" [TRUE] RTRUE JE L00,"n","no","no" [TRUE] RFALSE CALL_VN R0237 (#01,#01) PRINT "> " JUMP L0001 orphan code fragment: RTRUE Routine R0129, 0 locals Action routine for: "die" CALL_VN R0237 (#01,#02) CALL_1S R0128 -> -(SP) JZ (SP)+ [TRUE] L0001 QUIT L0001: RTRUE Routine R0130, 0 locals Action routine for: "restart" CALL_VN R0237 (#02,#01) CALL_1S R0128 -> -(SP) JZ (SP)+ [TRUE] L0001 RESTART CALL_VN R0237 (#02,#02) L0001: RTRUE Routine R0131, 0 locals Action routine for: "restore" RESTORE -> Gef JE Gef,#02 [TRUE] L0001 CALL_VS R0237 (#03,#01) -> -(SP) RET_POPPED L0001: CALL_VN R0237 (#03,#02) RTRUE Routine R0132, 0 locals Action routine for: "save" SAVE -> Gef JZ Gef [FALSE] L0001 CALL_VS R0237 (#04,#01) -> -(SP) RET_POPPED L0001: CALL_VN R0237 (#04,#02) RTRUE Routine R0133, 0 locals Action routine for: "verify" VERIFY [TRUE] L0001 JUMP L0002 L0001: CALL_VS R0237 (#05,#01) -> -(SP) RET_POPPED L0002: CALL_VN R0237 (#05,#02) RTRUE Routine R0134, 0 locals Action routine for: "script" "script on" JE G07,#01 [FALSE] L0001 CALL_VS R0237 (#06,#01) -> -(SP) RET_POPPED L0001: STORE G07,#01 LOADW #00,#08 -> -(SP) OR (SP)+,#01 -> -(SP) STOREW #00,#08,(SP)+ CALL_VN R0237 (#06,#02) CALL_1N R0111 RTRUE Routine R0135, 0 locals Action routine for: "script off" "noscript" JZ G07 [FALSE] L0001 CALL_VS R0237 (#07,#01) -> -(SP) RET_POPPED L0001: CALL_VN R0237 (#07,#02) STORE G07,#00 LOADW #00,#08 -> -(SP) AND (SP)+,#fffe -> -(SP) STOREW #00,#08,(SP)+ RTRUE Routine R0136, 0 locals Action routine for: "notify on" STORE G0f,#01 CALL_2N R0237 (#08) RTRUE Routine R0137, 0 locals Action routine for: "notify off" STORE G0f,#00 CALL_2N R0237 (#09) RTRUE Routine R0138, 3 locals CALL_2N R0237 (#0a) STORE L00,#01 L0001: TEST_ATTR L00,#18 [FALSE] L0002 INC L01 L0002: INC L00 JG L00,#0066 [TRUE] L0003 JUMP L0001 L0003: STORE L00,#01 L0004: TEST_ATTR L00,#18 [FALSE] L0007 CALL_2N R0105 (L00) INC L02 JE L02,L01 [FALSE] L0005 PRINT_RET "." L0005: SUB L01,#01 -> -(SP) JE L02,(SP)+ [FALSE] L0006 PRINT_PADDR S040 JUMP L0007 L0006: PRINT ", " L0007: INC L00 JG L00,#0066 [TRUE] L0008 JUMP L0004 L0008: RTRUE Routine R0139, 3 locals CALL_VN R0237 (#0b,#01) STORE L00,#01 L0001: TEST_ATTR L00,#0c [FALSE] L0011 STORE L02,#01 CALL_2N R0103 (L00) GET_PARENT L00 -> L01 JE L01,G12 [FALSE] L0004 TEST_ATTR L00,#1a [FALSE] L0002 CALL_VN R0237 (#0b,#03) JUMP L0003 L0002: CALL_VN R0237 (#0b,#04) L0003: JUMP L0010 L0004: TEST_ATTR L01,#00 [FALSE] L0005 CALL_VN R0237 (#0b,#05) JUMP L0010 L0005: TEST_ATTR L01,#18 [FALSE] L0006 CALL_VN R0237 (#0b,#06,L01) JUMP L0010 L0006: TEST_ATTR L01,#04 [FALSE] L0007 CALL_VN R0237 (#0b,#08,L01) JUMP L0010 L0007: TEST_ATTR L01,#14 [FALSE] L0008 CALL_VN R0237 (#0b,#09,L01) JUMP L0010 L0008: TEST_ATTR L01,#07 [FALSE] L0009 CALL_VN R0237 (#0b,#07,L01) JUMP L0010 L0009: CALL_VN R0237 (#0b,#0a) L0010: NEW_LINE L0011: INC L00 JG L00,#0066 [TRUE] L0012 JUMP L0001 L0012: JZ L02 [FALSE] L0013 CALL_VN R0237 (#0b,#02) L0013: RTRUE Routine R0140, 0 locals Action routine for: "score" CALL_2N R0237 (#0c) CALL_1N R0304 RTRUE Routine R0141, 1 local LOADB #1d99,L00 -> -(SP) JZ (SP)+ [FALSE] L0001 STOREB #1d99,L00,#01 LOADB #1d95,L00 -> -(SP) ADD G0d,(SP)+ -> G0d L0001: RTRUE Routine R0142, 2 locals PRINT " " STORE L01,L00 JL L01,#00 [FALSE] L0001 SUB #00,L00 -> L01 MUL L01,#0a -> L01 L0001: JL L01,#0a [FALSE] L0002 PRINT " " JUMP L0004 L0002: JL L01,#64 [FALSE] L0003 PRINT " " JUMP L0004 L0003: JL L01,#03e8 [FALSE] L0004 PRINT " " L0004: PRINT_NUM L00 PRINT " " RTRUE Routine R0143, 1 local Action routine for: "full" "full score" CALL_1N R0140 JZ G0d [TRUE] RFALSE JZ #01 [FALSE] RFALSE NEW_LINE CALL_VN R0237 (#0d,#01) STORE L00,#00 L0001: JL L00,#01 [FALSE] L0003 LOADB #1d99,L00 -> -(SP) JE (SP)+,#01 [FALSE] L0002 LOADB #1d95,L00 -> -(SP) CALL_2N R0142 ((SP)+) CALL_2N R0297 (L00) L0002: INC L00 JUMP L0001 L0003: JZ G11 [TRUE] L0004 CALL_2N R0142 (G11) CALL_VN R0237 (#0d,#02) L0004: JZ G10 [TRUE] L0005 CALL_2N R0142 (G10) CALL_VN R0237 (#0d,#03) L0005: NEW_LINE CALL_2N R0142 (G0d) CALL_VN R0237 (#0d,#04) RTRUE Routine R0144, 0 locals Action routine for: "i wide" STORE G1f,#1c CALL_2N R0075 (#0e) RTRUE Routine R0145, 0 locals Action routine for: "i tall" STORE G1f,#17 CALL_2N R0075 (#0e) RTRUE Routine R0146, 1 local Action routine for: "carry inventory" "i" GET_CHILD G12 -> -(SP) [FALSE] L0001 L0001: JZ (SP)+ [FALSE] L0002 CALL_VS R0237 (#0e,#01) -> -(SP) RET_POPPED L0002: JZ G1f [FALSE] L0003 CALL_1S R0145 -> -(SP) RET_POPPED L0003: CALL_VN R0237 (#0e,#02) AND G1f,#01 -> -(SP) JZ (SP)+ [TRUE] L0004 PRINT ": " JUMP L0005 L0004: PRINT " " L0005: GET_CHILD G12 -> -(SP) [FALSE] L0006 L0006: CALL_VN R0121 ((SP)+,G1f,#01) AND G1f,#08 -> -(SP) JZ (SP)+ [TRUE] L0007 PRINT ". " L0007: GET_CHILD G12 -> -(SP) [FALSE] L0008 L0008: PULL L00 JZ L00 [TRUE] L0010 L0009: CALL_2N R0071 (L00) GET_SIBLING L00 -> L00 [TRUE] L0009 L0010: CALL_1N R0079 RTRUE Routine R0147, 4 locals STORE L02,L00 L0001: JZ L02 [TRUE] L0005 STORE L03,L01 L0002: JZ L03 [TRUE] L0004 JE L03,L02 [FALSE] L0003 RET L02 L0003: GET_PARENT L03 -> L03 JUMP L0002 L0004: GET_PARENT L02 -> L02 JUMP L0001 L0005: RFALSE Routine R0148, 2 locals L0001: JZ L01 [TRUE] L0002 JE L00,L01 [TRUE] RTRUE GET_PARENT L01 -> L01 JUMP L0001 L0002: RFALSE Routine R0149, 5 locals CALL_VS R0147 (G12,L00) -> L03 JE G12,L03 [TRUE] L0003 GET_PARENT G12 -> L04 L0001: JE L04,L03 [TRUE] L0003 TEST_ATTR L04,#04 [FALSE] L0002 TEST_ATTR L04,#0e [TRUE] L0002 JZ L01 [FALSE] RTRUE CALL_VS R0237 (#0f,#09,L04) -> -(SP) RET_POPPED L0002: GET_PARENT L04 -> L04 JUMP L0001 L0003: JE L00,L03 [TRUE] L0009 GET_PARENT L00 -> L04 L0004: JE L04,L03 [TRUE] L0009 JZ L02 [TRUE] L0007 TEST_ATTR L04,#04 [TRUE] L0007 TEST_ATTR L04,#14 [TRUE] L0007 TEST_ATTR L04,#00 [FALSE] L0005 JZ L01 [FALSE] RTRUE CALL_VS R0237 (#0f,#06,L04) -> -(SP) RET_POPPED L0005: TEST_ATTR L04,#17 [FALSE] L0006 JZ L01 [FALSE] RTRUE CALL_VS R0237 (#0f,#07,L04) -> -(SP) RET_POPPED L0006: JZ L01 [FALSE] RTRUE CALL_VS R0237 (#0f,#08,L00) -> -(SP) RET_POPPED L0007: TEST_ATTR L04,#04 [FALSE] L0008 TEST_ATTR L04,#0e [TRUE] L0008 JZ L01 [FALSE] RTRUE CALL_VS R0237 (#0f,#09,L04) -> -(SP) RET_POPPED L0008: GET_PARENT L04 -> L04 JUMP L0004 L0009: RFALSE Routine R0150, 6 locals JE L00,G12 [FALSE] L0001 CALL_VS R0237 (#0f,#02) -> -(SP) RET_POPPED L0001: TEST_ATTR L00,#00 [FALSE] L0002 CALL_VS R0237 (#0f,#03,L00) -> -(SP) RET_POPPED L0002: CALL_VS R0147 (G12,L00) -> L01 JZ L01 [FALSE] L0003 CALL_VS R0237 (#0f,#08,L00) -> -(SP) RET_POPPED L0003: JE L01,L00 [FALSE] L0004 CALL_VS R0237 (#0f,#04,L00) -> -(SP) RET_POPPED L0004: JIN L00,G12 [FALSE] L0005 CALL_VS R0237 (#0f,#05,L00) -> -(SP) RET_POPPED L0005: CALL_VS R0149 (L00,#00,#01) -> -(SP) JZ (SP)+ [TRUE] L0006 RTRUE L0006: GET_PARENT L00 -> L03 JE L03,L01 [TRUE] L0009 TEST_ATTR L03,#04 [TRUE] L0007 TEST_ATTR L03,#14 [FALSE] L0009 L0007: STORE L02,L03 STORE L05,G27 STORE G27,#1000 CALL_VS R0084 (L03,#04) -> -(SP) JZ (SP)+ [TRUE] L0008 STORE G27,L05 RTRUE L0008: STORE G27,L05 L0009: TEST_ATTR L00,#11 [FALSE] L0010 CALL_VS R0237 (#0f,#0a,L00) -> -(SP) RET_POPPED L0010: TEST_ATTR L00,#13 [FALSE] L0011 CALL_VS R0237 (#0f,#0b,L00) -> -(SP) RET_POPPED L0011: STORE L05,#00 GET_CHILD G12 -> -(SP) [FALSE] L0012 L0012: PULL L04 JZ L04 [TRUE] L0015 L0013: TEST_ATTR L04,#1a [TRUE] L0014 INC L05 L0014: GET_SIBLING L04 -> L04 [TRUE] L0013 L0015: CALL_VS R0083 (G12,#2d) -> -(SP) JL L05,(SP)+ [TRUE] L0024 JZ #00 [TRUE] L0023 GET_PARENT #00 -> -(SP) JE (SP)+,G12 [TRUE] L0016 CALL_VS R0237 (#0f,#0c) -> -(SP) RET_POPPED L0016: STORE L04,#00 GET_CHILD G12 -> -(SP) [FALSE] L0017 L0017: PULL L05 JZ L05 [TRUE] L0020 L0018: JZ L05 [TRUE] L0019 TEST_ATTR L05,#1a [TRUE] L0019 TEST_ATTR L05,#09 [TRUE] L0019 STORE L04,L05 L0019: GET_SIBLING L05 -> L05 [TRUE] L0018 L0020: JZ L04 [TRUE] L0021 CALL_VN R0237 (#0f,#0d,L04) STORE G2c,#01 CALL_VN R0075 (#13,L04,#00) STORE G2c,#00 JIN L04,#00 [FALSE] RTRUE JUMP L0022 L0021: CALL_VS R0237 (#0f,#0c) -> -(SP) RET_POPPED L0022: JUMP L0024 L0023: CALL_VS R0237 (#0f,#0c) -> -(SP) RET_POPPED L0024: INSERT_OBJ L00,G12 JZ L02 [TRUE] L0026 STORE L05,G27 STORE G27,#1000 CALL_VS R0084 (L02,#05) -> -(SP) JZ (SP)+ [TRUE] L0025 STORE G27,L05 RTRUE L0025: STORE G27,L05 L0026: RFALSE Routine R0151, 0 locals Action routine for: "carry multi" "get multi" "pick up multi" "pick multi up" "remove multi" "peel noun" "peel off noun" JZ G3f [TRUE] L0001 JIN G2a,G12 [TRUE] L0002 L0001: CALL_2S R0150 (G2a) -> -(SP) JZ (SP)+ [FALSE] RTRUE L0002: CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE STORE G3e,G3f JE G3e,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#0f,#01) RTRUE Routine R0152, 1 local Action routine for: "carry multiinside from noun" "carry multiinside off noun" "get multiinside from noun" "remove multiinside from noun" GET_PARENT G2a -> L00 TEST_ATTR L00,#04 [FALSE] L0001 TEST_ATTR L00,#0e [TRUE] L0001 CALL_VS R0237 (#11,#01,G2a) -> -(SP) RET_POPPED L0001: JE L00,G2b [TRUE] L0002 CALL_VS R0237 (#11,#02,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR L00,#00 [FALSE] L0003 CALL_VS R0237 (#0f,#06,L00) -> -(SP) RET_POPPED L0003: CALL_2S R0150 (G2a) -> -(SP) JZ (SP)+ [FALSE] RTRUE STORE G27,#0f CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE STORE G27,#11 CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VS R0237 (#11,#03,G2a) -> -(SP) RET_POPPED Routine R0153, 0 locals Action routine for: "put down multiheld" "put multiheld down" "discard multiheld" GET_PARENT G12 -> -(SP) JIN G2a,(SP)+ [FALSE] L0001 CALL_VS R0237 (#10,#01,G2a) -> -(SP) RET_POPPED L0001: JIN G2a,G12 [TRUE] L0002 CALL_VS R0237 (#10,#02,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#1a [FALSE] L0003 CALL_VN R0237 (#10,#03,G2a) CALL_VN R0075 (#29,G2a) TEST_ATTR G2a,#1a [TRUE] RTRUE L0003: GET_PARENT G12 -> -(SP) INSERT_OBJ G2a,(SP)+ CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VS R0237 (#10,#04,G2a) -> -(SP) RET_POPPED Routine R0154, 1 local Action routine for: "put multiexcept on / onto noun" "discard multiexcept on / onto noun" STORE G2e,#12 JE G2b,#10 [TRUE] L0001 JIN G12,G2b [FALSE] L0002 L0001: CALL_VN R0075 (#10,G2a) RTRUE L0002: GET_PARENT G2a -> -(SP) JE (SP)+,G12 [TRUE] L0003 CALL_VS R0237 (#12,#01,G2a) -> -(SP) RET_POPPED L0003: CALL_VS R0147 (G2a,G2b) -> L00 JE L00,G2a [FALSE] L0004 CALL_VS R0237 (#12,#02,G2a) -> -(SP) RET_POPPED L0004: CALL_2S R0149 (G2b) -> -(SP) JZ (SP)+ [TRUE] L0005 RTRUE L0005: JE G2b,L00 [TRUE] L0007 STORE G27,#1001 CALL_VS R0084 (G2b,#04) -> -(SP) JZ (SP)+ [TRUE] L0006 STORE G27,#12 RTRUE L0006: STORE G27,#12 L0007: TEST_ATTR G2b,#14 [TRUE] L0008 CALL_VS R0237 (#12,#03,G2b) -> -(SP) RET_POPPED L0008: JE L00,G12 [FALSE] L0009 CALL_VS R0237 (#12,#04) -> -(SP) RET_POPPED L0009: TEST_ATTR G2a,#1a [FALSE] L0010 CALL_VN R0237 (#12,#05,G2a) CALL_VN R0075 (#29,G2a) TEST_ATTR G2a,#1a [FALSE] L0010 RTRUE L0010: CALL_VS R0083 (G2b,#2d) -> -(SP) STORE Gef,#00 GET_CHILD G2b -> -(SP) [FALSE] L0012 L0011: INC Gef GET_SIBLING (SP)+ -> -(SP) [TRUE] L0011 L0012: PULL Gee PUSH Gef JL (SP)+,(SP)+ [TRUE] L0013 CALL_VS R0237 (#12,#06,G2b) -> -(SP) RET_POPPED L0013: INSERT_OBJ G2a,G2b CALL_1S R0079 -> -(SP) JE (SP)+,#01 [FALSE] L0014 RTRUE L0014: JE G2b,L00 [TRUE] L0016 STORE G27,#1001 CALL_VS R0084 (G2b,#05) -> -(SP) JZ (SP)+ [TRUE] L0015 STORE G27,#12 RTRUE L0015: STORE G27,#12 L0016: JE G2c,#01 [FALSE] L0017 RTRUE L0017: JE G37,#01 [FALSE] L0018 CALL_VS R0237 (#12,#07) -> -(SP) RET_POPPED L0018: CALL_VN R0237 (#12,#08,G2a) RTRUE Routine R0155, 1 local Action routine for: "put multiexcept in / inside / into noun" "insert multiexcept in / into noun" "discard multiexcept in / into / down noun" STORE G2e,#13 JE G2b,#10 [TRUE] L0001 JIN G12,G2b [FALSE] L0002 L0001: CALL_VN R0075 (#10,G2a) RTRUE L0002: GET_PARENT G2a -> -(SP) JE (SP)+,G12 [TRUE] L0003 CALL_VS R0237 (#13,#01,G2a) -> -(SP) RET_POPPED L0003: CALL_VS R0147 (G2a,G2b) -> L00 JE L00,G2a [FALSE] L0004 CALL_VS R0237 (#13,#05,G2a) -> -(SP) RET_POPPED L0004: CALL_2S R0149 (G2b) -> -(SP) JZ (SP)+ [TRUE] L0005 RTRUE L0005: JE G2b,L00 [TRUE] L0007 STORE G27,#1001 CALL_VS R0084 (G2b,#04) -> -(SP) JZ (SP)+ [TRUE] L0006 STORE G27,#13 RTRUE L0006: STORE G27,#13 TEST_ATTR G2b,#04 [FALSE] L0007 TEST_ATTR G2b,#0e [TRUE] L0007 CALL_VS R0237 (#13,#03,G2b) -> -(SP) RET_POPPED L0007: TEST_ATTR G2b,#04 [TRUE] L0008 CALL_VS R0237 (#13,#02,G2b) -> -(SP) RET_POPPED L0008: TEST_ATTR G2a,#1a [FALSE] L0009 CALL_VN R0237 (#13,#06,G2a) CALL_VN R0075 (#29,G2a) TEST_ATTR G2a,#1a [FALSE] L0009 RTRUE L0009: CALL_VS R0083 (G2b,#2d) -> -(SP) STORE Gef,#00 GET_CHILD G2b -> -(SP) [FALSE] L0011 L0010: INC Gef GET_SIBLING (SP)+ -> -(SP) [TRUE] L0010 L0011: PULL Gee PUSH Gef JL (SP)+,(SP)+ [TRUE] L0012 CALL_VS R0237 (#13,#07,G2b) -> -(SP) RET_POPPED L0012: INSERT_OBJ G2a,G2b CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2b,L00 [TRUE] L0014 STORE G27,#1001 CALL_VS R0084 (G2b,#05) -> -(SP) JZ (SP)+ [TRUE] L0013 STORE G27,#13 RTRUE L0013: STORE G27,#13 L0014: JE G2c,#01 [TRUE] RTRUE JE G37,#01 [FALSE] L0015 CALL_VS R0237 (#13,#08,G2a) -> -(SP) RET_POPPED L0015: CALL_VN R0237 (#13,#09,G2a) RTRUE Routine R0156, 0 locals Action routine for: "transfer noun to noun" "clear noun to noun" JIN G2a,G12 [TRUE] L0001 CALL_2S R0150 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2b,#04 [FALSE] L0002 CALL_VN R0075 (#13,G2a,G2b) RTRUE L0002: TEST_ATTR G2b,#14 [FALSE] L0003 CALL_VN R0075 (#12,G2a,G2b) RTRUE L0003: CALL_VN R0075 (#10,G2a) RTRUE Routine R0157, 0 locals Action routine for: "empty noun" "empty out noun" "empty noun out" STORE G2b,#10 CALL_1N R0158 RTRUE Routine R0158, 2 locals Action routine for: "empty noun to / into / on / onto noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#04 [TRUE] L0002 CALL_VS R0237 (#14,#01,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#0e [TRUE] L0003 CALL_VS R0237 (#14,#02,G2a) -> -(SP) RET_POPPED L0003: JE G2b,#10 [TRUE] L0005 TEST_ATTR G2b,#04 [TRUE] L0004 CALL_VS R0237 (#14,#01,G2b) -> -(SP) RET_POPPED L0004: TEST_ATTR G2b,#0e [TRUE] L0005 CALL_VS R0237 (#14,#02,G2b) -> -(SP) RET_POPPED L0005: GET_CHILD G2a -> L00 [FALSE] L0006 L0006: JZ L00 [FALSE] L0007 CALL_VS R0237 (#14,#03,G2a) -> -(SP) RET_POPPED L0007: JZ L00 [TRUE] L0009 GET_SIBLING L00 -> L01 [FALSE] L0008 L0008: CALL_2N R0105 (L00) PRINT ": " CALL_VN R0075 (#5d,L00,G2b) STORE L00,L01 JUMP L0007 L0009: RTRUE Routine R0159, 0 locals Action routine for: "feed held to creature" "feed creature held" REVERSE "feed over held to creature" GET_PARENT G2a -> -(SP) JE (SP)+,G12 [TRUE] L0001 CALL_VS R0237 (#15,#01,G2a) -> -(SP) RET_POPPED L0001: JE G2b,G12 [FALSE] L0002 CALL_VS R0237 (#15,#02,G2a) -> -(SP) RET_POPPED L0002: CALL_VS R0080 (G2b,#15) -> -(SP) JZ (SP)+ [FALSE] RFALSE CALL_VN R0237 (#15,#03,G2b) RTRUE Routine R0160, 0 locals Action routine for: CALL_VN R0075 (#15,G2b,G2a) RTRUE Routine R0161, 0 locals Action routine for: "display creature held" REVERSE "display held to creature" GET_PARENT G2a -> -(SP) JE (SP)+,G12 [TRUE] L0001 CALL_VS R0237 (#16,#01,G2a) -> -(SP) RET_POPPED L0001: JE G2b,G12 [FALSE] L0002 CALL_VN R0075 (#20,G2a) RTRUE L0002: CALL_VS R0080 (G2b,#16) -> -(SP) JZ (SP)+ [FALSE] RFALSE CALL_VN R0237 (#16,#02,G2b) RTRUE Routine R0162, 0 locals Action routine for: CALL_VN R0075 (#16,G2b,G2a) RTRUE Routine R0163, 3 locals Action routine for: "get in / into / on / onto noun" "stand on noun" "go noun" "go into / in / inside / through noun" "leave into / in / inside / through noun" "cross noun" "lie on top of noun" "lie on / in / inside noun" TEST_ATTR G2a,#05 [TRUE] L0001 JIN G2a,"compass" [FALSE] L0002 L0001: CALL_VN R0075 (#1b,G2a) RTRUE L0002: JIN G12,G2a [FALSE] L0003 CALL_VS R0237 (#17,#01,G2a) -> -(SP) RET_POPPED L0003: TEST_ATTR G2a,#07 [TRUE] L0004 CALL_VS R0237 (#17,#02,G2a) -> -(SP) RET_POPPED L0004: TEST_ATTR G2a,#04 [FALSE] L0005 TEST_ATTR G2a,#0e [TRUE] L0005 CALL_VS R0237 (#17,#03,G2a) -> -(SP) RET_POPPED L0005: GET_PARENT G2a -> -(SP) GET_PARENT G12 -> -(SP) JE (SP)+,(SP)+ [TRUE] L0015 CALL_VS R0147 (G12,G2a) -> L00 JE L00,G12,#00 [FALSE] L0006 CALL_VS R0237 (#17,#04,G2a) -> -(SP) RET_POPPED L0006: JIN G12,L00 [TRUE] L0010 GET_PARENT G12 -> L01 GET_PARENT L01 -> -(SP) JE (SP)+,L00 [FALSE] L0007 JE G2a,L00 [TRUE] L0008 L0007: CALL_VN R0237 (#17,#06,L01) STORE L02,G2c STORE G2c,#01 L0008: CALL_2N R0075 (#19) STORE G2c,L02 JIN G12,L01 [FALSE] L0009 RTRUE L0009: JUMP L0006 L0010: JIN G12,G2a [FALSE] L0011 RTRUE L0011: JIN G2a,L00 [TRUE] L0015 GET_PARENT G2a -> L01 L0012: GET_PARENT L01 -> -(SP) JE (SP)+,L00 [TRUE] L0013 GET_PARENT L01 -> L01 JUMP L0012 L0013: CALL_VN R0237 (#17,#07,L01) STORE L02,G2c STORE G2c,#01 CALL_VN R0075 (#17,L01) STORE G2c,L02 JIN G12,L01 [TRUE] L0014 RTRUE L0014: CALL_VN R0075 (#17,G2a) RTRUE L0015: INSERT_OBJ G12,G2a CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#17,#05,G2a) CALL_2N R0170 (G2a) RTRUE Routine R0164, 0 locals Action routine for: "get off noun" GET_PARENT G12 -> -(SP) JE (SP)+,G2a [FALSE] L0001 CALL_2N R0075 (#19) RTRUE L0001: CALL_VN R0237 (#18,#01,G2a) RTRUE Routine R0165, 1 local Action routine for: "get out / off / up" "stand" "stand up" "leave noun" "exit" GET_PARENT G12 -> L00 JE L00,G00 [TRUE] L0001 JE G00,#13 [FALSE] L0004 JE L00,G15 [FALSE] L0004 L0001: GET_PROP G00,#12 -> -(SP) JZ (SP)+ [FALSE] L0002 JE G00,#13 [FALSE] L0003 GET_PROP G15,#12 -> -(SP) JZ (SP)+ [TRUE] L0003 L0002: CALL_VN R0075 (#1b,#11) RTRUE L0003: CALL_VS R0237 (#19,#01) -> -(SP) RET_POPPED L0004: TEST_ATTR L00,#04 [FALSE] L0005 TEST_ATTR L00,#0e [TRUE] L0005 CALL_VS R0237 (#19,#02,L00) -> -(SP) RET_POPPED L0005: GET_PARENT L00 -> -(SP) INSERT_OBJ G12,(SP)+ CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#19,#03,L00) CALL_2N R0176 (#01) RTRUE Routine R0166, 0 locals Action routine for: "go" "leave" CALL_2N R0237 (#1a) RTRUE Routine R0167, 0 locals Action routine for: "cross" "in" CALL_VN R0075 (#1b,#12) RTRUE Routine R0168, 6 locals Action routine for: "go noun = [parse $3037]" "leave noun = [parse $3037]" STORE L04,#00 GET_PARENT G12 -> L00 JE G00,#13 [TRUE] L0001 JE L00,G00 [FALSE] L0002 L0001: JE G00,#13 [FALSE] L0007 JE L00,G15 [TRUE] L0007 L0002: STORE L01,G00 JE G00,#13 [FALSE] L0003 STORE G00,G15 L0003: CALL_VS R0084 (L00,#04) -> L02 JE L02,#03 [TRUE] L0004 STORE G00,L01 L0004: JE L02,#01 [FALSE] L0005 STORE L04,L00 GET_PARENT L00 -> L00 JUMP L0007 L0005: JZ L02 [FALSE] L0006 CALL_VN R0237 (#1b,#01,L00) L0006: RTRUE L0007: GET_PROP G2a,#15 -> L05 CALL_2S R0081 (L05) -> -(SP) JE (SP)+,#02 [FALSE] L0008 CALL_VS R0084 (G2a,#15) -> L05 L0008: CALL_VS R0307 (L00,L05) -> L01 CALL_2S R0081 (L01) -> L02 JE L02,#03 [FALSE] L0009 PRINT_PADDR L01 NEW_LINE RFALSE L0009: JE L02,#02 [FALSE] L0010 CALL_VS R0084 (L00,L05) -> L01 JE L01,#01 [TRUE] RTRUE L0010: JZ L02 [TRUE] L0011 JZ L01 [FALSE] L0013 L0011: GET_PROP L00,#26 -> -(SP) JZ (SP)+ [TRUE] L0012 CALL_VN R0082 (L00,#26) L0012: RFALSE L0013: TEST_ATTR L01,#05 [FALSE] L0021 TEST_ATTR L01,#03 [FALSE] L0014 CALL_VS R0237 (#1b,#02) -> -(SP) RET_POPPED L0014: TEST_ATTR L01,#0e [TRUE] L0017 JE G2a,#0f [FALSE] L0015 CALL_VS R0237 (#1b,#03,L01) -> -(SP) RET_POPPED L0015: JE G2a,#10 [FALSE] L0016 CALL_VS R0237 (#1b,#04,L01) -> -(SP) RET_POPPED L0016: CALL_VS R0237 (#1b,#05,L01) -> -(SP) RET_POPPED L0017: GET_PROP L01,#13 -> -(SP) CALL_2S R0081 ((SP)+) -> -(SP) JE (SP)+,#02 [FALSE] L0018 CALL_VS R0084 (L01,#13) -> L01 JUMP L0020 L0018: GET_PROP L01,#13 -> -(SP) JZ (SP)+ [FALSE] L0019 CALL_VS R0237 (#1b,#06,L01) -> -(SP) RET_POPPED L0019: GET_PROP L01,#13 -> L01 L0020: JE L01,#01 [TRUE] RTRUE L0021: JZ L04 [FALSE] L0022 INSERT_OBJ G12,L01 JUMP L0023 L0022: INSERT_OBJ L04,L01 L0023: CALL_2S R0094 (L01) -> L03 JZ L03 [TRUE] L0024 STORE G00,L01 STORE G14,#01 JUMP L0026 L0024: JE G00,#13 [FALSE] L0025 CALL_1N R0290 JZ G13 [FALSE] RTRUE L0025: STORE G15,L01 STORE G00,#13 STORE G14,#00 L0026: CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_2N R0176 (#01) RTRUE Routine R0169, 3 locals GET_PARENT G12 -> -(SP) JE L00,(SP)+ [TRUE] RFALSE GET_CHILD L00 -> -(SP) [FALSE] L0001 L0001: PULL L01 JZ L01 [TRUE] L0004 L0002: TEST_ATTR L01,#03 [TRUE] L0003 TEST_ATTR L01,#11 [TRUE] L0003 STORE L02,#01 L0003: GET_SIBLING L01 -> L01 [TRUE] L0002 L0004: JZ L02 [TRUE] RFALSE CALL_VN R0237 (#1f,#04,L00) RTRUE Routine R0170, 9 locals GET_CHILD L00 -> -(SP) [FALSE] L0001 L0001: PULL L03 JZ L03 [TRUE] L0003 L0002: CLEAR_ATTR L03,#19 GET_SIBLING L03 -> L03 [TRUE] L0002 L0003: STORE L05,#00 GET_CHILD L00 -> -(SP) [FALSE] L0004 L0004: PULL L03 JZ L03 [TRUE] L0019 L0005: TEST_ATTR L03,#03 [TRUE] L0018 GET_PARENT G12 -> -(SP) JE L03,(SP)+ [TRUE] L0018 CALL_2N R0071 (L03) TEST_ATTR L03,#11 [TRUE] L0016 SET_ATTR L03,#19 INC L05 STORE L04,#1e STORE L08,#00 TEST_ATTR L03,#05 [TRUE] L0006 TEST_ATTR L03,#04 [FALSE] L0007 L0006: TEST_ATTR L03,#0e [FALSE] L0007 CALL_VS R0311 (L03,#1f) -> -(SP) JZ (SP)+ [TRUE] L0007 STORE L04,#1f STORE L08,#01 JUMP L0011 L0007: TEST_ATTR L03,#05 [TRUE] L0008 TEST_ATTR L03,#04 [FALSE] L0009 L0008: TEST_ATTR L03,#0e [TRUE] L0009 CALL_VS R0311 (L03,#20) -> -(SP) JZ (SP)+ [TRUE] L0009 STORE L04,#20 STORE L08,#01 JUMP L0011 L0009: TEST_ATTR L03,#15 [FALSE] L0010 TEST_ATTR L03,#0d [FALSE] L0010 CALL_VS R0311 (L03,#21) -> -(SP) JZ (SP)+ [TRUE] L0010 STORE L04,#21 STORE L08,#01 JUMP L0011 L0010: TEST_ATTR L03,#15 [FALSE] L0011 TEST_ATTR L03,#0d [TRUE] L0011 CALL_VS R0311 (L03,#22) -> -(SP) JZ (SP)+ [TRUE] L0011 STORE L04,#22 STORE L08,#01 L0011: TEST_ATTR L03,#0c [FALSE] L0012 GET_PROP L03,#24 -> -(SP) JE (SP)+,#ffff [FALSE] L0012 JE L08,#01 [FALSE] L0015 L0012: GET_PROP L03,#24 -> -(SP) JE (SP)+,#ffff [TRUE] L0013 CALL_VS R0084 (L03,#24) -> -(SP) JZ (SP)+ [TRUE] L0013 STORE L07,#01 CLEAR_ATTR L03,#19 DEC L05 JUMP L0015 L0013: CALL_VS R0307 (L03,L04) -> L06 JZ L06 [TRUE] L0015 NEW_LINE CALL_VN R0082 (L03,L04) STORE L07,#01 CLEAR_ATTR L03,#19 DEC L05 TEST_ATTR L03,#14 [FALSE] L0015 GET_CHILD L03 -> -(SP) [FALSE] L0014 L0014: JZ (SP)+ [TRUE] L0015 CALL_2N R0169 (L03) L0015: JUMP L0018 L0016: TEST_ATTR L03,#14 [FALSE] L0018 GET_CHILD L03 -> -(SP) [FALSE] L0017 L0017: JZ (SP)+ [TRUE] L0018 CALL_2N R0169 (L03) L0018: GET_SIBLING L03 -> L03 [TRUE] L0005 L0019: JZ L05 [FALSE] L0020 RFALSE L0020: JZ L01 [TRUE] L0023 NEW_LINE JE L07,#01 [FALSE] L0021 STORE L01,L02 L0021: PRINT_PADDR L01 PRINT " " GET_CHILD L00 -> -(SP) [FALSE] L0022 L0022: CALL_VN R0121 ((SP)+,#0ad8) RET L05 L0023: JE L07,#01 [FALSE] L0024 CALL_VN R0237 (#1f,#05,L00) JUMP L0025 L0024: CALL_VN R0237 (#1f,#06,L00) L0025: RTRUE Routine R0171, 0 locals Action routine for: "brief" STORE G16,#01 PRINT_PADDR S001 CALL_2N R0237 (#1c) RTRUE Routine R0172, 0 locals Action routine for: "long" STORE G16,#02 PRINT_PADDR S001 CALL_2N R0237 (#1d) RTRUE Routine R0173, 0 locals Action routine for: "short" STORE G16,#03 PRINT_PADDR S001 CALL_2N R0237 (#1e) RTRUE Routine R0174, 1 local STORE L00,G00 JE L00,G18 [TRUE] L0002 GET_PROP L00,#1e -> -(SP) JZ (SP)+ [TRUE] L0001 CALL_VN R0082 (L00,#1e) L0001: CALL_1N R0291 CALL_1N R0125 STORE G18,L00 L0002: RTRUE Routine R0175, 0 locals TEST_ATTR G00,#18 [TRUE] L0001 SET_ATTR G00,#18 TEST_ATTR G00,#12 [FALSE] L0001 ADD G0d,#05 -> G0d ADD G10,#05 -> G10 L0001: RTRUE Routine R0176, 6 locals Action routine for: "l" GET_PARENT G12 -> -(SP) JZ (SP)+ [FALSE] L0001 CALL_2S R0112 (#0a) -> -(SP) RET_POPPED L0001: JE G00,#13 [FALSE] L0002 STORE L01,#13 JUMP L0006 L0002: STORE L02,#01 GET_PARENT G12 -> L01 L0003: GET_PARENT L01 -> -(SP) JZ (SP)+ [TRUE] L0005 TEST_ATTR L01,#04 [FALSE] L0004 TEST_ATTR L01,#0e [TRUE] L0004 TEST_ATTR L01,#17 [FALSE] L0005 L0004: GET_PARENT L01 -> L01 INC L02 JUMP L0003 L0005: JE L01,G00 [FALSE] L0006 CALL_1N R0174 L0006: NEW_LINE SET_TEXT_STYLE BOLDFACE JZ L02 [FALSE] L0007 CALL_2N R0105 (#13) JUMP L0009 L0007: JE L01,G00 [TRUE] L0008 CALL_2N R0104 (L01) JUMP L0009 L0008: CALL_2N R0105 (L01) L0009: SET_TEXT_STYLE ROMAN STORE L04,#01 GET_PARENT G12 -> L03 JUMP L0011 L0010: INC L04 GET_PARENT L03 -> L03 L0011: JL L04,L02 [FALSE] L0014 TEST_ATTR L03,#14 [FALSE] L0012 CALL_VN R0237 (#1f,#01,L03) JUMP L0013 L0012: CALL_VN R0237 (#1f,#02,L03) L0013: JUMP L0010 L0014: JE G17,#01 [FALSE] L0015 CALL_VN R0237 (#1f,#03,G12) L0015: NEW_LINE JL G16,#03 [FALSE] L0019 JE L01,G00 [FALSE] L0019 JE L00,#01 [FALSE] L0016 JE G16,#02 [TRUE] L0016 TEST_ATTR G00,#18 [TRUE] L0019 L0016: GET_PROP G00,#24 -> -(SP) JE (SP)+,#ffff [TRUE] L0017 CALL_VN R0084 (G00,#24) JUMP L0019 L0017: GET_PROP G00,#23 -> -(SP) JZ (SP)+ [FALSE] L0018 CALL_VN R0112 (#0b,G00) JUMP L0019 L0018: CALL_VN R0082 (G00,#23) L0019: JZ L02 [FALSE] L0020 CALL_2N R0170 (#13) JUMP L0025 L0020: STORE L04,L02 L0021: JG L04,#00 [FALSE] L0025 STORE L03,G12 STORE L05,#00 L0022: JL L05,L04 [FALSE] L0023 GET_PARENT L03 -> L03 INC L05 JUMP L0022 L0023: GET_PROP L03,#32 -> -(SP) JZ (SP)+ [TRUE] L0024 NEW_LINE CALL_VN R0082 (L03,#32) L0024: CALL_2N R0170 (L03) DEC L04 JUMP L0021 L0025: CALL_1N R0292 CALL_1N R0175 STORE G27,#1f CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE RTRUE Routine R0177, 1 local Action routine for: "l at noun" "check noun" "read noun" JE G00,#13 [FALSE] L0001 CALL_VS R0237 (#20,#01) -> -(SP) RET_POPPED L0001: GET_PROP G2a,#23 -> L00 JZ L00 [FALSE] L0004 TEST_ATTR G2a,#04 [FALSE] L0002 CALL_VN R0075 (#22,G2a) RTRUE L0002: TEST_ATTR G2a,#15 [FALSE] L0003 CALL_VN R0237 (#20,#03,G2a) RFALSE L0003: CALL_VS R0237 (#20,#02,G2a) -> -(SP) RET_POPPED L0004: CALL_VN R0082 (G2a,#23) TEST_ATTR G2a,#15 [FALSE] L0005 CALL_VN R0237 (#20,#03,G2a) L0005: CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE RTRUE Routine R0178, 0 locals Action routine for: "l under noun" JE G00,#13 [FALSE] L0001 CALL_VS R0237 (#21,#01) -> -(SP) RET_POPPED L0001: CALL_VN R0237 (#21,#02) RTRUE Routine R0179, 2 locals Action routine for: "l inside / in / into / through noun" "search noun" JE G00,#13 [FALSE] L0001 CALL_VS R0237 (#22,#01,G2a) -> -(SP) RET_POPPED L0001: CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0002 RTRUE L0002: GET_CHILD G2a -> -(SP) [FALSE] L0003 L0003: PULL L00 JZ L00 [TRUE] L0006 L0004: TEST_ATTR L00,#03 [TRUE] L0005 TEST_ATTR L00,#11 [TRUE] L0005 STORE L01,#01 L0005: GET_SIBLING L00 -> L00 [TRUE] L0004 L0006: TEST_ATTR G2a,#14 [FALSE] L0008 JZ L01 [FALSE] L0007 CALL_VS R0237 (#22,#02,G2a) -> -(SP) RET_POPPED L0007: CALL_VS R0237 (#22,#03,G2a) -> -(SP) RET_POPPED L0008: TEST_ATTR G2a,#04 [TRUE] L0009 CALL_VS R0237 (#22,#04,G2a) -> -(SP) RET_POPPED L0009: TEST_ATTR G2a,#17 [TRUE] L0010 TEST_ATTR G2a,#0e [TRUE] L0010 CALL_VS R0237 (#22,#05,G2a) -> -(SP) RET_POPPED L0010: CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE STORE Gef,#00 GET_CHILD G2a -> -(SP) [FALSE] L0012 L0011: INC Gef GET_SIBLING (SP)+ -> -(SP) [TRUE] L0011 L0012: PULL Gee STORE L00,Gef JZ L01 [FALSE] L0013 CALL_VS R0237 (#22,#06,G2a) -> -(SP) RET_POPPED L0013: CALL_VN R0237 (#22,#07,G2a) RTRUE Routine R0180, 0 locals Action routine for: "open noun with held" "unlock noun with held" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#0a [TRUE] L0002 CALL_VS R0237 (#23,#01,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#0b [TRUE] L0003 CALL_VS R0237 (#23,#02,G2a) -> -(SP) RET_POPPED L0003: GET_PROP G2a,#14 -> -(SP) JE (SP)+,G2b [TRUE] L0004 CALL_VS R0237 (#23,#03,G2b) -> -(SP) RET_POPPED L0004: CLEAR_ATTR G2a,#0b CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#23,#04,G2a) RTRUE Routine R0181, 0 locals Action routine for: "lock noun with held" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#0a [TRUE] L0002 CALL_VS R0237 (#24,#01,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#0b [FALSE] L0003 CALL_VS R0237 (#24,#02,G2a) -> -(SP) RET_POPPED L0003: TEST_ATTR G2a,#0e [FALSE] L0004 CALL_VS R0237 (#24,#03,G2a) -> -(SP) RET_POPPED L0004: GET_PROP G2a,#14 -> -(SP) JE (SP)+,G2b [TRUE] L0005 CALL_VS R0237 (#24,#04,G2b) -> -(SP) RET_POPPED L0005: SET_ATTR G2a,#0b CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#24,#05,G2a) RTRUE Routine R0182, 0 locals Action routine for: "rotate noun on" "rotate on noun" "switch noun" "switch noun on" "switch on noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#15 [TRUE] L0002 CALL_VS R0237 (#25,#01,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#0d [FALSE] L0003 CALL_VS R0237 (#25,#02,G2a) -> -(SP) RET_POPPED L0003: SET_ATTR G2a,#0d CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#25,#03,G2a) RTRUE Routine R0183, 0 locals Action routine for: "close off noun" "rotate noun off" "rotate off noun" "switch noun off" "switch off noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#15 [TRUE] L0002 CALL_VS R0237 (#26,#01,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#0d [TRUE] L0003 CALL_VS R0237 (#26,#02,G2a) -> -(SP) RET_POPPED L0003: CLEAR_ATTR G2a,#0d CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#26,#03,G2a) RTRUE Routine R0184, 0 locals Action routine for: "open noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#0f [TRUE] L0002 CALL_VS R0237 (#27,#01,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#0b [FALSE] L0003 CALL_VS R0237 (#27,#02,G2a) -> -(SP) RET_POPPED L0003: TEST_ATTR G2a,#0e [FALSE] L0004 CALL_VS R0237 (#27,#03,G2a) -> -(SP) RET_POPPED L0004: SET_ATTR G2a,#0e CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE TEST_ATTR G2a,#04 [FALSE] L0006 TEST_ATTR G2a,#17 [TRUE] L0006 GET_CHILD G2a -> -(SP) [FALSE] L0005 L0005: JZ (SP)+ [TRUE] L0006 CALL_VS R0148 (G2a,G12) -> -(SP) JZ (SP)+ [FALSE] L0006 CALL_VS R0237 (#27,#04,G2a) -> -(SP) RET_POPPED L0006: CALL_VN R0237 (#27,#05,G2a) RTRUE Routine R0185, 0 locals Action routine for: "close noun" "close up noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#0f [TRUE] L0002 CALL_VS R0237 (#28,#01,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#0e [TRUE] L0003 CALL_VS R0237 (#28,#02,G2a) -> -(SP) RET_POPPED L0003: CLEAR_ATTR G2a,#0e CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#28,#03,G2a) RTRUE Routine R0186, 0 locals Action routine for: "carry off ATTRIBUTE(26)" "remove held" "disrobe held" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#1a [TRUE] L0002 CALL_VS R0237 (#29,#01,G2a) -> -(SP) RET_POPPED L0002: CLEAR_ATTR G2a,#1a CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#29,#02,G2a) RTRUE Routine R0187, 0 locals Action routine for: "don held" "put on held" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#02 [TRUE] L0002 CALL_VS R0237 (#2a,#01,G2a) -> -(SP) RET_POPPED L0002: GET_PARENT G2a -> -(SP) JE (SP)+,G12 [TRUE] L0003 CALL_VS R0237 (#2a,#02,G2a) -> -(SP) RET_POPPED L0003: TEST_ATTR G2a,#1a [FALSE] L0004 CALL_VS R0237 (#2a,#03,G2a) -> -(SP) RET_POPPED L0004: SET_ATTR G2a,#1a CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#2a,#04,G2a) RTRUE Routine R0188, 0 locals Action routine for: "eat held" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#06 [TRUE] L0002 CALL_VS R0237 (#2b,#01,G2a) -> -(SP) RET_POPPED L0002: REMOVE_OBJ G2a CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE JE G2c,#01 [TRUE] RTRUE CALL_VN R0237 (#2b,#02,G2a) RTRUE Routine R0189, 0 locals Action routine for: "y" CALL_2N R0237 (#2c) RTRUE Routine R0190, 0 locals Action routine for: "no" CALL_2N R0237 (#2d) RTRUE Routine R0191, 0 locals Action routine for: "burn noun" "burn noun with held" CALL_VN R0237 (#2e,#01,G2a) RTRUE Routine R0192, 0 locals Action routine for: "pray" CALL_VN R0237 (#2f,#01,G2a) RTRUE Routine R0193, 0 locals Action routine for: "awake" "awake up" CALL_VN R0237 (#30,#01,G2a) RTRUE Routine R0194, 0 locals Action routine for: "awake creature" "awake creature up" "awake up creature" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: CALL_VS R0080 (G2a,#31) -> -(SP) JZ (SP)+ [FALSE] RFALSE CALL_VN R0237 (#31,#01,G2a) RTRUE Routine R0195, 0 locals Action routine for: "think" CALL_VN R0237 (#33,#01,G2a) RTRUE Routine R0196, 0 locals Action routine for: "smell" "smell noun" CALL_VN R0237 (#34,#01,G2a) RTRUE Routine R0197, 0 locals Action routine for: "hear" "hear noun" "hear to noun" CALL_VN R0237 (#35,#01,G2a) RTRUE Routine R0198, 0 locals Action routine for: "taste noun" CALL_VN R0237 (#36,#01,G2a) RTRUE Routine R0199, 0 locals Action routine for: "dig noun" "dig noun with held" CALL_VN R0237 (#38,#01,G2a) RTRUE Routine R0200, 0 locals Action routine for: "chop noun" CALL_VN R0237 (#39,#01,G2a) RTRUE Routine R0201, 0 locals Action routine for: "hop" CALL_VN R0237 (#3a,#01,G2a) RTRUE Routine R0202, 0 locals Action routine for: "hop over noun" CALL_VN R0237 (#3b,#01,G2a) RTRUE Routine R0203, 0 locals Action routine for: "attach noun" "attach noun to noun" "connect noun" "connect noun to noun" CALL_VN R0237 (#3c,#01,G2a) RTRUE Routine R0204, 0 locals Action routine for: "drink noun" CALL_VN R0237 (#3d,#01,G2a) RTRUE Routine R0205, 0 locals Action routine for: "fill noun" CALL_VN R0237 (#3e,#01,G2a) RTRUE Routine R0206, 0 locals Action routine for: "sorry" CALL_VN R0237 (#3f,#01,G2a) RTRUE Routine R0207, 0 locals Action routine for: "damn" "damn topic" CALL_VN R0237 (#40,#01,G2a) RTRUE Routine R0208, 0 locals Action routine for: "bother" "bother topic" CALL_VN R0237 (#41,#01,G2a) RTRUE Routine R0209, 0 locals Action routine for: "dive" CALL_VN R0237 (#43,#01,G2a) RTRUE Routine R0210, 0 locals Action routine for: "swing noun" "swing on noun" CALL_VN R0237 (#44,#01,G2a) RTRUE Routine R0211, 0 locals Action routine for: "blow held" CALL_VN R0237 (#45,#01,G2a) RTRUE Routine R0212, 0 locals Action routine for: "clean noun" CALL_VN R0237 (#46,#01,G2a) RTRUE Routine R0213, 0 locals Action routine for: "adjust noun" CALL_VN R0237 (#47,#01,G2a) RTRUE Routine R0214, 0 locals Action routine for: "adjust noun to special" CALL_VN R0237 (#48,#01,G2a) RTRUE Routine R0215, 0 locals Action routine for: "wave" CALL_VN R0237 (#49,#01,G2a) RTRUE Routine R0216, 0 locals Action routine for: "buy noun" CALL_VN R0237 (#54,#01,G2a) RTRUE Routine R0217, 0 locals Action routine for: "sing" CALL_VN R0237 (#55,#01,G2a) RTRUE Routine R0218, 0 locals Action routine for: "climb noun" "climb up / over noun" CALL_VN R0237 (#56,#01,G2a) RTRUE Routine R0219, 0 locals Action routine for: "nap" CALL_VN R0237 (#58,#01,G2a) RTRUE Routine R0220, 0 locals Action routine for: "l up topic in noun" "consult noun about topic" "consult noun on topic" "read about topic in noun" "read topic in noun" CALL_VN R0237 (#59,#01,G2a) RTRUE Routine R0221, 0 locals Action routine for: "feel noun" JE G2a,G12 [FALSE] L0001 CALL_VS R0237 (#37,#03,G2a) -> -(SP) RET_POPPED L0001: CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0002 RTRUE L0002: TEST_ATTR G2a,#00 [FALSE] L0003 CALL_VS R0237 (#37,#01,G2a) -> -(SP) RET_POPPED L0003: CALL_VN R0237 (#37,#02,G2a) RTRUE Routine R0222, 0 locals Action routine for: "wave noun" GET_PARENT G2a -> -(SP) JE (SP)+,G12 [TRUE] L0001 CALL_VS R0237 (#4a,#01,G2a) -> -(SP) RET_POPPED L0001: CALL_VN R0237 (#4a,#02,G2a) RTRUE Routine R0223, 0 locals Action routine for: "drag noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#13 [FALSE] L0002 CALL_VS R0237 (#4b,#01,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#11 [FALSE] L0003 CALL_VS R0237 (#4b,#02,G2a) -> -(SP) RET_POPPED L0003: TEST_ATTR G2a,#00 [FALSE] L0004 CALL_VS R0237 (#4b,#04,G2a) -> -(SP) RET_POPPED L0004: CALL_VN R0237 (#4b,#03,G2a) RTRUE Routine R0224, 0 locals Action routine for: "clear noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#13 [FALSE] L0002 CALL_VS R0237 (#4c,#01,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#11 [FALSE] L0003 CALL_VS R0237 (#4c,#02,G2a) -> -(SP) RET_POPPED L0003: TEST_ATTR G2a,#00 [FALSE] L0004 CALL_VS R0237 (#4b,#04,G2a) -> -(SP) RET_POPPED L0004: CALL_VN R0237 (#4c,#03,G2a) RTRUE Routine R0225, 0 locals Action routine for: "rotate noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#13 [FALSE] L0002 CALL_VS R0237 (#4d,#01,G2a) -> -(SP) RET_POPPED L0002: TEST_ATTR G2a,#11 [FALSE] L0003 CALL_VS R0237 (#4d,#02,G2a) -> -(SP) RET_POPPED L0003: TEST_ATTR G2a,#00 [FALSE] L0004 CALL_VS R0237 (#4b,#04,G2a) -> -(SP) RET_POPPED L0004: CALL_VN R0237 (#4d,#03,G2a) RTRUE Routine R0226, 0 locals Action routine for: "wait" CALL_1S R0079 -> -(SP) JE (SP)+,#01 [TRUE] RTRUE CALL_VN R0237 (#57,#01,G2a) RTRUE Routine R0227, 0 locals Action routine for: "clear noun noun" CALL_VN R0237 (#4e,#01,G2a) RTRUE Routine R0228, 1 local GET_PARENT G2b -> -(SP) JE (SP)+,#06 [TRUE] L0001 CALL_VS R0237 (#4e,#02,G2a) -> -(SP) RET_POPPED L0001: JE G2b,#0f,#10 [FALSE] L0002 CALL_VS R0237 (#4e,#03,G2a) -> -(SP) RET_POPPED L0002: CALL_1N R0079 STORE L00,G2a INSERT_OBJ L00,G12 CALL_VN R0075 (#1b,G2b) JE G00,#13 [FALSE] L0003 INSERT_OBJ L00,G15 JUMP L0004 L0003: INSERT_OBJ L00,G00 L0004: RTRUE Routine R0229, 0 locals Action routine for: "squash noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#00 [FALSE] L0002 CALL_VS R0237 (#4f,#01,G2a) -> -(SP) RET_POPPED L0002: CALL_VN R0237 (#4f,#02,G2a) RTRUE Routine R0230, 0 locals Action routine for: "discard held at / against / on / onto noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: JG G2b,#01 [FALSE] L0003 STORE G27,#1002 CALL_VS R0084 (G2b,#04) -> -(SP) JZ (SP)+ [TRUE] L0002 STORE G27,#50 RTRUE L0002: STORE G27,#50 L0003: TEST_ATTR G2b,#00 [TRUE] L0004 CALL_VS R0237 (#50,#01) -> -(SP) RET_POPPED L0004: CALL_VS R0080 (G2b,#50) -> -(SP) JZ (SP)+ [FALSE] RFALSE CALL_VN R0237 (#50,#02,G2a) RTRUE Routine R0231, 0 locals Action routine for: "attack noun" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: TEST_ATTR G2a,#00 [FALSE] L0002 CALL_VS R0080 (G2a,#42) -> -(SP) JZ (SP)+ [FALSE] RFALSE L0002: CALL_VN R0237 (#42,#01,G2a) RTRUE Routine R0232, 0 locals Action routine for: "embrace creature" CALL_2S R0149 (G2a) -> -(SP) JZ (SP)+ [TRUE] L0001 RTRUE L0001: CALL_VS R0080 (G2a,#32) -> -(SP) JZ (SP)+ [FALSE] RFALSE JE G2a,G12 [FALSE] L0002 CALL_VS R0237 (#37,#03,G2a) -> -(SP) RET_POPPED L0002: CALL_VN R0237 (#32,#01,G2a) RTRUE Routine R0233, 0 locals Action routine for: "answer topic to creature" CALL_VS R0080 (G2b,#52) -> -(SP) JZ (SP)+ [FALSE] RFALSE CALL_VN R0237 (#52,#01,G2a) RTRUE Routine R0234, 0 locals Action routine for: "tell creature about topic" JE G2a,G12 [FALSE] L0001 CALL_VS R0237 (#51,#01,G2a) -> -(SP) RET_POPPED L0001: CALL_VS R0080 (G2a,#51) -> -(SP) JZ (SP)+ [FALSE] RFALSE CALL_VN R0237 (#51,#02,G2a) RTRUE Routine R0235, 0 locals Action routine for: "ask creature about topic" CALL_VS R0080 (G2a,#53) -> -(SP) JZ (SP)+ [FALSE] RFALSE CALL_VN R0237 (#53,#01,G2a) RTRUE Routine R0236, 0 locals Action routine for: "ask creature for noun" JE G2a,G12 [FALSE] L0001 CALL_2N R0075 (#0e) RTRUE L0001: CALL_VN R0237 (#1003,#01,G2a) RTRUE Routine R0237, 4 locals STORE L03,Ge9 STORE Ge9,L00 JZ L01 [FALSE] L0001 STORE L01,#01 L0001: CALL_VN R0238 (L01,L02) STORE Ge9,L03 RTRUE Routine R0238, 3 locals STORE L02,G27 STORE G25,L00 STORE G26,L01 STORE G27,Ge9 CALL_VS R0084 (#17,#04) -> -(SP) JZ (SP)+ [TRUE] L0001 STORE G27,L02 RFALSE L0001: STORE G27,L02 CALL_VN R0014 (L00,L01) RTRUE Routine R0239, 0 locals CLEAR_ATTR Geb,#18 RFALSE Routine R0240, 3 locals GET_PROP Geb,#23 -> -(SP) PRINT_PADDR (SP)+ GET_CHILD Geb -> -(SP) [FALSE] L0001 L0001: PULL L00 JZ L00 [TRUE] L0004 L0002: JE L00,G12 [TRUE] L0003 INC L01 SET_ATTR L00,#03 L0003: GET_SIBLING L00 -> L00 [TRUE] L0002 L0004: JZ L01 [TRUE] L0008 GET_CHILD Geb -> -(SP) [FALSE] L0005 L0005: PULL L00 JZ L00 [TRUE] L0008 L0006: JE L00,G12 [TRUE] L0007 TEST_ATTR L00,#1f [TRUE] L0007 PRINT " You can see " CALL_2N R0102 (L00) PRINT "." L0007: GET_SIBLING L00 -> L00 [TRUE] L0006 L0008: STORE L01,#00 STORE L02,#00 PRINT " Exits are: " STORE L00,#07 L0009: JG L00,#10 [TRUE] L0011 CALL_VS R0307 (Geb,L00) -> -(SP) JZ (SP)+ [TRUE] L0010 INC L01 L0010: INC L00 JUMP L0009 L0011: JZ L01 [FALSE] L0012 PRINT "None!" JUMP L0022 L0012: STORE L00,#07 L0013: JG L00,#10 [TRUE] L0021 CALL_VS R0307 (Geb,L00) -> -(SP) JZ (SP)+ [TRUE] L0020 PUSH L02 INC L02 JG (SP)+,#00 [FALSE] L0014 PRINT " " L0014: JE L00,#07 [FALSE] L0015 PRINT "North" L0015: JE L00,#08 [FALSE] L0016 PRINT "South" L0016: JE L00,#09 [FALSE] L0017 PRINT "East" L0017: JE L00,#0a [FALSE] L0018 PRINT "West" L0018: JE L00,#0f [FALSE] L0019 PRINT "Up" L0019: JE L00,#10 [FALSE] L0020 PRINT "Down" L0020: INC L00 JUMP L0013 L0021: PRINT "." L0022: NEW_LINE RFALSE Routine R0241, 0 locals JE G08,#0190 [FALSE] L0001 STORE G13,#01 PRINT_RET " Oh No! They've caught up to you! They pull out guns!" L0001: JE G08,#0190 [TRUE] L0002 JL G08,#0177 [TRUE] L0002 PRINT " You think that they are on to you... You hear noises. " L0002: RFALSE Routine R0242, 0 locals JE Ge9,#1b [FALSE] L0001 JIN "C.I.A identification badge",G12 [FALSE] L0001 CALL_VN R0075 (#1f,Geb) PRINT " The door man looks at your badge and then throws you out. " CALL_VN R0126 (#19,#02) RTRUE L0001: RFALSE Routine R0243, 0 locals JE Ge9,#27 [FALSE] L0002 TEST_ATTR Geb,#0f [FALSE] L0001 TEST_ATTR Geb,#08 [TRUE] L0001 INSERT_OBJ "quarter",G00 INSERT_OBJ "blank credit card",G00 CLEAR_ATTR Geb,#0f SET_ATTR Geb,#08 PRINT_RET " You open the sculpture, and two things fall out!" L0001: PRINT_RET " You try, but you can't." L0002: RFALSE Routine R0244, 0 locals JE Ge9,#13 [FALSE] L0001 JE G2b,#0033 [FALSE] L0001 JIN Geb,G12 [FALSE] L0001 INSERT_OBJ "cup of steaming hot coffee",G00 REMOVE_OBJ Geb PRINT_RET " Pop! A cup of coffee comes out of the machine." L0001: RFALSE Routine R0245, 0 locals JE Ge9,#13 [FALSE] L0002 JIN "security guard",G00 [FALSE] L0001 TEST_ATTR "security guard",#08 [TRUE] L0001 PRINT_RET " The guard won't let you!" L0001: JIN "slit",G00 [FALSE] L0002 JE G2b,#0043 [FALSE] L0002 INSERT_OBJ "electronic lock with dial",G00 REMOVE_OBJ "blank credit card" PRINT_RET " Pop! A section of the wall opens.... Revealing something very interesting." L0002: RFALSE Routine R0246, 0 locals JE Ge9,#27 [FALSE] L0001 PRINT_RET " You can't." L0001: RFALSE Routine R0247, 0 locals JE Ge9,#4c [FALSE] L0002 TEST_ATTR "pair of sliding doors",#0e [TRUE] L0001 SET_ATTR "pair of sliding doors",#0e PRINT_RET " The doors slide open with a woosh!" L0001: PRINT_RET " The doors are already open." L0002: RFALSE Routine R0248, 0 locals JE G83,#01 [FALSE] L0001 RET #1c L0001: JE G83,#02 [FALSE] L0002 RET #0032 L0002: JE G83,#03 [FALSE] L0003 RET #0040 L0003: RFALSE Routine R0249, 0 locals JE Ge9,#4c [FALSE] L0001 STORE G83,#01 PRINT_RET " The doors close and you feel as if the room is moving. Suddenly the doors open again." L0001: RFALSE Routine R0250, 0 locals JE Ge9,#4c [FALSE] L0001 STORE G83,#02 PRINT_RET " The doors close and you feel as if the room is moving. Suddenly the doors open again." L0001: RFALSE Routine R0251, 0 locals JE Ge9,#4c [FALSE] L0001 STORE G83,#03 PRINT_RET " The doors close and you feel as if the room is moving. Suddenly the doors open again." L0001: RFALSE Routine R0252, 0 locals JIN "large battery",Geb [TRUE] L0001 PRINT_RET " There's no power for it." L0001: JIN "large battery",Geb [FALSE] L0002 TEST_ATTR "portable television",#08 [TRUE] L0002 PRINT_RET " There's no T.V. to watch on." L0002: RFALSE Routine R0253, 0 locals JE Ge9,#23 [FALSE] L0001 CALL_VN R0075 (#27,#2b) RTRUE L0001: JE Ge9,#27 [FALSE] L0003 JIN "olde fashioned key",G12 [FALSE] L0002 SET_ATTR "door",#0e PRINT_RET " O.K. You've opened the door." L0002: PRINT_RET " Its locked!" L0003: RFALSE Routine R0254, 0 locals TEST_ATTR "drawer",#13 [FALSE] L0001 PRINT_RET "You can see it has a drawer in it." L0001: RFALSE Routine R0255, 0 locals JE Ge9,#0f,#4c,#4b [FALSE] L0001 PRINT_RET " It is in the desk and locked." L0001: JE Ge9,#42 [FALSE] L0003 JIN "heavy paper weight",G12 [FALSE] L0002 TEST_ATTR "drawer",#13 [FALSE] L0002 INSERT_OBJ "notebook",G00 INSERT_OBJ "large battery",G00 CLEAR_ATTR Geb,#13 CLEAR_ATTR Geb,#1f PRINT_RET " Its hard.. But you break it. Two things fall out." L0002: PRINT_RET " You try, but can't." L0003: JE Ge9,#27 [FALSE] L0004 TEST_ATTR Geb,#1f [FALSE] L0004 PRINT_RET " Its stuck!" L0004: RFALSE Routine R0256, 0 locals TEST_ATTR Geb,#08 [TRUE] L0001 SET_ATTR Geb,#08 L0001: PRINT_RET "It says: We have discovered one of CHAOS' secret words. It is: BOND007. To be used in a -tasteful- situation." Routine R0257, 0 locals JE Ge9,#13 [FALSE] L0001 JE G2b,#29 [FALSE] L0001 JIN "video cassette recorder",G00 [FALSE] L0001 INSERT_OBJ Geb,"video cassette recorder" PRINT_RET " You put the battery into the VCR." L0001: RFALSE Routine R0258, 0 locals JE Ge9,#10 [FALSE] L0001 REMOVE_OBJ "cup of steaming hot coffee" PRINT_RET " You drop the cup and it breaks into small pieces. The coffee soaked into the ground." L0001: RFALSE Routine R0259, 0 locals TEST_ATTR Geb,#08 [FALSE] L0002 JIN "video tape","video cassette recorder" [FALSE] L0002 JIN "large battery","video cassette recorder" [FALSE] L0002 TEST_ATTR "sculpture",#08 [TRUE] L0001 SET_ATTR "sculpture",#0f L0001: PRINT " The tape is playing a message: We have uncovered a number that will help you. That number is: " PRINT_NUM G84 PRINT ". Please watch out for hidden traps. Also, there is something in the sculpture. " RTRUE L0002: PRINT_RET " The screen is dark." Routine R0260, 0 locals JE Ge9,#3c [FALSE] L0004 JE G2b,#29 [FALSE] L0002 JE G00,#28 [FALSE] L0002 TEST_ATTR Geb,#08 [TRUE] L0002 SET_ATTR Geb,#08 PRINT " You connect the TV to the VCR" JIN Geb,G12 [FALSE] L0001 INSERT_OBJ Geb,G00 PRINT " and set it down." RTRUE L0001: PRINT "." RTRUE L0002: JE G2b,#29 [FALSE] L0003 JE G00,#28 [FALSE] L0003 TEST_ATTR Geb,#08 [FALSE] L0003 PRINT_RET " You already did that." L0003: PRINT_RET " You can't connect the TV to that." L0004: JE Ge9,#0f [FALSE] L0005 TEST_ATTR Geb,#08 [FALSE] L0005 CLEAR_ATTR Geb,#08 PRINT " You disconnect the TV from the VCR. " L0005: RFALSE Routine R0261, 0 locals TEST_ATTR "large button on the wall",#08 [TRUE] L0001 PRINT_RET " You see a metal pit 1000's of feet deep on one monitor. On the other side of the pit, you see a large hook." L0001: PRINT_RET " The screen is dark." Routine R0262, 0 locals JE Ge9,#23 [FALSE] L0001 CALL_VN R0075 (#27,#39) RTRUE L0001: JE Ge9,#27 [FALSE] L0003 JIN "olde fashioned key",G12 [FALSE] L0002 SET_ATTR Geb,#0e PRINT_RET " O.K. You've opened the door." L0002: PRINT_RET " Its locked!" L0003: RFALSE Routine R0263, 0 locals JE Ge9,#39 [FALSE] L0002 JIN "razor blade",G12 [FALSE] L0001 INSERT_OBJ "video tape",G00 REMOVE_OBJ Geb PRINT_RET " Rip! The bag goes to pieces, and something falls out!" L0001: PRINT_RET " There isn't anything sharp enough." L0002: JE Ge9,#27 [FALSE] L0003 PRINT_RET " You can't. It is too strong." L0003: RFALSE Routine R0264, 0 locals JE Ge9,#13 [FALSE] L0001 JE G2b,#29 [FALSE] L0001 JIN "video cassette recorder",G00 [FALSE] L0001 INSERT_OBJ "video tape","video cassette recorder" PRINT_RET " You put the video tape into the recorder." L0001: RFALSE Routine R0265, 0 locals JE Ge9,#1b [FALSE] L0002 TEST_ATTR "security guard",#08 [TRUE] L0001 JIN "CHAOS ID card",G12 [TRUE] L0001 CALL_VN R0075 (#1f,Geb) PRINT " The guard looks at you suspiciously and then throws you back. " CALL_VN R0126 (#22,#02) RTRUE L0001: TEST_ATTR "security guard",#08 [TRUE] L0002 JIN "cup of steaming hot coffee",G12 [FALSE] L0002 TEST_ATTR "cup of steaming hot coffee",#08 [FALSE] L0002 SET_ATTR "security guard",#08 SET_ATTR "security guard",#20 REMOVE_OBJ "cup of steaming hot coffee" PUT_PROP "security guard",#2e,S061 CALL_2N R0088 (#0042) PRINT " The guard takes your coffee and drinks it. He falls asleep right away. " L0002: RFALSE Routine R0266, 0 locals JE Ge9,#27 [FALSE] L0001 PRINT_RET " You can't. It doesn't work." L0001: RFALSE Routine R0267, 0 locals TEST_ATTR Geb,#08 [TRUE] L0001 TEST_ATTR Geb,#20 [FALSE] L0001 STORE G13,#01 PRINT_RET " The guard draws his gun and shoots you!" L0001: RFALSE Routine R0268, 1 local SUB G85,#01 -> L00 STORE G85,L00 JE L00,#01 [FALSE] L0001 JE G00,#40 [FALSE] L0001 PRINT " You can hear someone yawning. " L0001: JZ L00 [FALSE] L0002 CALL_2N R0089 (Geb) CLEAR_ATTR Geb,#08 PUT_PROP "security guard",#2e,S064 JE G00,#40 [FALSE] L0002 PRINT " The guard wakes up! " L0002: RFALSE Routine R0269, 0 locals JE Ge9,#48 [FALSE] L0002 PRINT "You set the dial to " PRINT_NUM G2b PRINT ". " JE G2b,G84 [FALSE] L0001 REMOVE_OBJ "electronic lock with dial" SET_ATTR "solid-looking door",#0e CLEAR_ATTR "solid-looking door",#0b PRINT_RET " The door opens slowly.." L0001: PRINT_RET " You've got the combination wrong!" L0002: RFALSE Routine R0270, 0 locals JE Ge9,#1b [FALSE] L0001 TEST_ATTR "lever on the square",#08 [TRUE] L0001 CALL_VN R0075 (#1f,Geb) STORE G13,#01 PRINT_RET " The floor is wired with electricity! You're being electrocuted! " L0001: RFALSE Routine R0271, 0 locals JE Ge9,#1b [FALSE] L0002 TEST_ATTR "large button on the wall",#08 [TRUE] L0001 CALL_VN R0075 (#1f,Geb) STORE G13,#01 PRINT_RET " Sirens go off all around you! Guards run in and shoot you to death!" L0001: CALL_VN R0075 (#1f,Geb) PRINT_RET "A secret door slams shut behind you!" L0002: RFALSE Routine R0272, 0 locals JE Ge9,#39 [FALSE] L0002 JIN "razor blade",G12 [FALSE] L0001 JIN "very large ruby",Geb [FALSE] L0001 INSERT_OBJ "very large ruby",G12 PRINT_RET " You cut the case and reach in to pull something out." L0001: PRINT_RET "You try, but it doesn't work." L0002: JE Ge9,#1f [FALSE] L0003 JIN "very large ruby",Geb [FALSE] L0003 PRINT_RET " You can see a gleaming stone inside." L0003: RFALSE Routine R0273, 0 locals JE Ge9,#4c,#4b,#37 [FALSE] L0001 TEST_ATTR "pair of rubber gloves",#1a [TRUE] L0001 TEST_ATTR "lever on the square",#08 [TRUE] L0001 STORE G13,#01 PRINT_RET " There is electricity coursing through the square! You're being electrocuted!" L0001: RFALSE Routine R0274, 0 locals JE Ge9,#4c,#4b [FALSE] L0003 TEST_ATTR "pair of rubber gloves",#1a [FALSE] L0001 TEST_ATTR Geb,#08 [TRUE] L0001 SET_ATTR Geb,#08 PRINT_RET " The lever goes all the way up and clicks. Something seems different now." L0001: TEST_ATTR Geb,#08 [FALSE] L0002 CLEAR_ATTR Geb,#08 PRINT_RET " The lever goes all the way down and clicks. Something seems different now." L0002: STORE G13,#01 PRINT_RET " The lever has electricty coursing through it! You're being electrocuted!" L0003: RFALSE Routine R0275, 0 locals JE Ge9,#50 [FALSE] L0002 JE G2b,#0055 [FALSE] L0001 JE G00,#0054 [FALSE] L0001 INSERT_OBJ "strong nylon rope","Ledge" SET_ATTR "strong nylon rope",#05 SET_ATTR "strong nylon rope",#0e PUT_PROP "Ledge",#11,#50 PUT_PROP Geb,#15,#11 PUT_PROP Geb,#13,#0056 PRINT_RET " You throw the rope and it snags on the hook." L0001: RFALSE L0002: JE Ge9,#0f [FALSE] L0004 TEST_ATTR "strong nylon rope",#05 [FALSE] L0003 CLEAR_ATTR "strong nylon rope",#05 CLEAR_ATTR "strong nylon rope",#0e PUT_PROP "strong nylon rope",#15,#00 PUT_PROP Geb,#13,#00 PUT_PROP "Ledge",#11,#00 L0003: RFALSE L0004: JE Ge9,#44 [FALSE] L0005 TEST_ATTR "strong nylon rope",#05 [FALSE] L0005 CALL_VN R0075 (#17,#50) RTRUE L0005: RFALSE Routine R0276, 0 locals JE Ge9,#0f,#1b [FALSE] L0001 PRINT_RET " You can't reach it." L0001: RFALSE Routine R0277, 0 locals JE Ge9,#4c [FALSE] L0004 PRINT " You push the button on the box and... " JE G00,#47 [TRUE] L0001 JE G00,#0063 [FALSE] L0003 L0001: PRINT "There is a blinding flash! " JIN "very large ruby",G12 [FALSE] L0002 STORE G13,#02 CALL_VN R0126 (#19,#02) PRINT_RET " Hooray! You've recovered the ruby! You win!" L0002: CALL_VN R0126 (#19,#02) RTRUE L0003: PRINT_RET " Nothing Happens." L0004: RFALSE Routine R0278, 0 locals JE Ge9,#0f,#4c [FALSE] L0001 JIN "small capsule",Geb [FALSE] L0001 INSERT_OBJ "small capsule",G00 PRINT_RET " Something fell from the frame!" L0001: RFALSE Routine R0279, 0 locals JE Ge9,#13 [FALSE] L0002 JE G2b,#34 [FALSE] L0001 JIN "small capsule",G12 [FALSE] L0001 REMOVE_OBJ "small capsule" SET_ATTR "cup of steaming hot coffee",#08 PRINT_RET " You put the small capsule into the cup of steaming hot coffee." L0001: RFALSE L0002: JE Ge9,#10 [FALSE] L0003 JIN "cup of steaming hot coffee",G12 [FALSE] L0003 REMOVE_OBJ "small capsule" SET_ATTR "cup of steaming hot coffee",#08 PRINT_RET " You try to drop it but if falls into the cup of coffee!" L0003: RFALSE Routine R0280, 0 locals JE Ge9,#4c [FALSE] L0003 TEST_ATTR Geb,#08 [TRUE] L0001 SET_ATTR Geb,#08 JUMP L0002 L0001: CLEAR_ATTR Geb,#08 L0002: PRINT_RET " The button on the wall goes in ..... Click! Something seems different now." L0003: RFALSE Routine R0281, 0 locals STORE G00,#19 INSERT_OBJ "C.I.A identification badge",G12 SET_ATTR G12,#09 L0001: JL G84,#03e8 [FALSE] L0002 RANDOM #270f -> G84 JUMP L0001 L0002: RANDOM #0a -> -(SP) ADD #05,(SP)+ -> G85 PRINT_RET " Writing on wall says: For instructions, type 'orders' please. " Routine R0282, 1 local JE G27,#1f [FALSE] L0004 GET_CHILD G00 -> -(SP) [FALSE] L0001 L0001: PULL L00 JZ L00 [TRUE] L0004 L0002: JE L00,G12 [TRUE] L0003 TEST_ATTR L00,#03 [FALSE] L0003 CLEAR_ATTR L00,#03 L0003: GET_SIBLING L00 -> L00 [TRUE] L0002 L0004: RFALSE Routine R0283, 0 locals Action routine for: "orders" PRINT_RET " Your mission is to recover a ruby that is being used in top secret government projects as a part in a laser projector. The ruby has been captured by a secret spy ring known as CHAOS. We suspect they are under cover somewhere in this neighborhood. Good luck!" Routine R0284, 0 locals Action routine for: "bond00" JIN G12,"Cafeteria" [FALSE] L0001 TEST_ATTR "notebook",#08 [FALSE] L0001 PRINT " Whoops! A trap door opens underneath you and you find yourself falling! " CALL_VN R0126 (#4f,#02) STORE G83,#01 RTRUE L0001: PRINT_RET " Nothing happens." Routine R0285, 0 locals Parsing routine for: "go noun = [parse $3037]" "leave noun = [parse $3037]" JIN G2a,"compass" [TRUE] RTRUE RFALSE Routine R0286, 1 local STORE G3c,G73 L0001: CALL_1S R0056 -> L00 JE L00,#ffff [TRUE] L0002 JE L00,"to" [FALSE] L0001 JE G4e,#52 [FALSE] L0001 L0002: DEC G73 SUB G73,G3c -> G3d JZ G3d [FALSE] L0003 RET #ffff L0003: JE G4e,#53,#52,#51 [FALSE] L0005 STORE L00,G73 STORE G73,G3c CALL_1S R0055 -> G3b JE G3b,"the" [FALSE] L0004 JG G3d,#01 [FALSE] L0004 CALL_1S R0055 -> G3b L0004: STORE G73,L00 RTRUE L0005: RFALSE Routine R0287, 0 locals RFALSE Routine R0288, 0 locals RFALSE Routine R0289, 0 locals RFALSE Routine R0290, 0 locals RFALSE Routine R0291, 0 locals RFALSE Routine R0292, 0 locals RFALSE Routine R0293, 0 locals RFALSE Routine R0294, 0 locals RFALSE Routine R0295, 0 locals RFALSE Routine R0296, 0 locals RFALSE Routine R0297, 1 local RFALSE Routine R0298, 1 local RFALSE Routine R0299, 1 local RFALSE Routine R0300, 1 local RFALSE Routine R0301, 1 local RFALSE Routine R0302, 2 locals RFALSE Routine R0303, 2 locals RFALSE Routine R0304, 0 locals PRINT_RET "." Routine R0305, 1 local STORE L00,L00 RET #ffff Routine R0306, 5 locals AND L00,#c000 -> -(SP) JZ (SP)+ [TRUE] L0004 AND L00,#ff -> -(SP) LOADW #119e,(SP)+ -> L03 CALL_2N R0105 (L03) PRINT "::" AND L00,#8000 -> -(SP) JZ (SP)+ [FALSE] L0001 AND L00,#3f00 -> -(SP) DIV (SP)+,#0100 -> L00 JUMP L0004 L0001: AND L00,#7f00 -> -(SP) DIV (SP)+,#0100 -> L00 GET_PROP L03,#03 -> L04 L0002: LOADW L04,#00 -> -(SP) JZ (SP)+ [TRUE] L0003 JG L00,#00 [FALSE] L0003 LOADB L04,#02 -> -(SP) ADD L04,(SP)+ -> -(SP) ADD (SP)+,#03 -> L04 DEC L00 JUMP L0002 L0003: LOADW L04,#00 -> -(SP) AND (SP)+,#7fff -> L00 L0004: STORE L01,#11ac LOADW L01,#00 -> L02 JG L00,#00 [FALSE] L0005 JL L00,L02 [FALSE] L0005 LOADW L01,L00 -> -(SP) JZ (SP)+ [FALSE] L0006 L0005: PRINT "" JUMP L0007 L0006: LOADW L01,L00 -> -(SP) PRINT_PADDR (SP)+ L0007: RTRUE Routine R0307, 3 locals CALL_VS R0309 (L00,L01) -> L02 JZ L02 [FALSE] L0002 JL L01,#01 [TRUE] L0001 JL L01,#40 [FALSE] L0001 GET_PROP L00,L01 -> -(SP) RET_POPPED L0001: CALL_VN R0314 (S087,L00,L01) RTRUE L0002: LOADW L02,#00 -> -(SP) RET_POPPED Routine R0308, 15 locals JL L00,#01 [TRUE] L0001 SUB #0165,#ff -> -(SP) JG L00,(SP)+ [FALSE] L0007 L0001: CALL_2S R0315 (L00) -> -(SP) PULL Gef JE Gef,#02 [FALSE] L0003 JE L01,#45 [FALSE] L0002 STORE L0b,Gea STORE Gea,Geb STORE Geb,L00 STORE Ge9,G27 CALL_VS2 L00 (L02,L03,L04,L05,L06,L07) -> L08 STORE Geb,Gea STORE Gea,L0b RET L08 L0002: JUMP L0014 L0003: JE Gef,#03 [FALSE] L0006 JE L01,#46 [FALSE] L0004 PRINT_PADDR L00 RTRUE L0004: JE L01,#47 [FALSE] L0005 OUTPUT_STREAM REDIRECT_ENABLE,L02 PRINT_PADDR L00 OUTPUT_STREAM #fffd LOADW L02,#00 -> -(SP) RET_POPPED L0005: JUMP L0014 L0006: JUMP L0014 L0007: CHECK_ARG_COUNT #03 [FALSE] L0008 INC L09 CHECK_ARG_COUNT #04 [FALSE] L0008 INC L09 CHECK_ARG_COUNT #05 [FALSE] L0008 INC L09 CHECK_ARG_COUNT #06 [FALSE] L0008 INC L09 CHECK_ARG_COUNT #07 [FALSE] L0008 INC L09 CHECK_ARG_COUNT #08 [FALSE] L0008 INC L09 L0008: JL L01,#00 [TRUE] L0012 JL L01,#40 [FALSE] L0012 GET_PROP_ADDR L00,L01 -> L08 JZ L08 [FALSE] L0009 STORE L0d,#02 JUMP L0011 L0009: GET_PROP_ADDR L00,L01 -> Gef JZ Gef [TRUE] L0010 GET_PROP_LEN Gef -> Gef L0010: STORE L0d,Gef L0011: JUMP L0016 L0012: JL L01,#40 [TRUE] L0013 JL L01,#45 [FALSE] L0013 JIN L00,"Class" [FALSE] L0013 CALL_VS2 R0319 (L00,L01,L02,L03) -> -(SP) RET_POPPED L0013: CALL_VS R0309 (L00,L01) -> L08 JZ L08 [FALSE] L0015 L0014: CALL_VN R0314 (S088,L00,L01) RTRUE L0015: SUB L08,#01 -> -(SP) LOADB #00,(SP)+ -> L0d L0016: MUL #02,L0e -> -(SP) JL (SP)+,L0d [FALSE] L0030 LOADW L08,L0e -> -(SP) JE (SP)+,#ffff [TRUE] RFALSE LOADW L08,L0e -> -(SP) CALL_2S R0315 ((SP)+) -> -(SP) PULL Gef JE Gef,#02 [FALSE] L0027 STORE L0b,Gea STORE Gea,Geb STORE Geb,L00 STORE L0c,Ge9 JE L01,#06 [FALSE] L0017 STORE Ge9,G2d JUMP L0018 L0017: STORE Ge9,G27 L0018: STORE Gef,L09 JE Gef,#00 [FALSE] L0019 LOADW L08,L0e -> -(SP) CALL_1S (SP)+ -> L0a JUMP L0025 L0019: JE Gef,#01 [FALSE] L0020 LOADW L08,L0e -> -(SP) CALL_2S (SP)+ (L02) -> L0a JUMP L0025 L0020: JE Gef,#02 [FALSE] L0021 LOADW L08,L0e -> -(SP) CALL_VS (SP)+ (L02,L03) -> L0a JUMP L0025 L0021: JE Gef,#03 [FALSE] L0022 LOADW L08,L0e -> -(SP) CALL_VS (SP)+ (L02,L03,L04) -> L0a JUMP L0025 L0022: JE Gef,#04 [FALSE] L0023 LOADW L08,L0e -> -(SP) CALL_VS2 (SP)+ (L02,L03,L04,L05) -> L0a JUMP L0025 L0023: JE Gef,#05 [FALSE] L0024 LOADW L08,L0e -> -(SP) CALL_VS2 (SP)+ (L02,L03,L04,L05,L06) -> L0a JUMP L0025 L0024: JE Gef,#06 [FALSE] L0025 LOADW L08,L0e -> -(SP) CALL_VS2 (SP)+ (L02,L03,L04,L05,L06,L07) -> L0a L0025: STORE Geb,Gea STORE Gea,L0b STORE Ge9,L0c JZ L0a [TRUE] L0026 RET L0a L0026: JUMP L0029 L0027: JE Gef,#03 [FALSE] L0028 LOADW L08,L0e -> -(SP) PRINT_PADDR (SP)+ NEW_LINE RTRUE L0028: LOADW L08,L0e -> -(SP) RET_POPPED L0029: INC L0e JUMP L0016 L0030: RFALSE Routine R0309, 5 locals JL L01,#40 [FALSE] L0001 JG L01,#00 [FALSE] L0001 GET_PROP_ADDR L00,L01 -> -(SP) RET_POPPED L0001: AND L01,#8000 -> -(SP) JZ (SP)+ [TRUE] L0004 AND L01,#ff -> -(SP) LOADW #119e,(SP)+ -> L04 GET_PROP_ADDR L04,#03 -> -(SP) JZ (SP)+ [TRUE] RFALSE CALL_VS R0312 (L00,L04) -> -(SP) JZ (SP)+ [TRUE] RFALSE AND L01,#7f00 -> -(SP) DIV (SP)+,#0100 -> L01 GET_PROP L04,#03 -> L02 L0002: JG L01,#00 [FALSE] L0003 DEC L01 LOADB L02,#02 -> -(SP) ADD L02,(SP)+ -> -(SP) ADD (SP)+,#03 -> L02 JUMP L0002 L0003: ADD L02,#03 -> -(SP) RET_POPPED L0004: AND L01,#4000 -> -(SP) JZ (SP)+ [TRUE] L0006 AND L01,#ff -> -(SP) LOADW #119e,(SP)+ -> L04 AND L01,#3f00 -> -(SP) DIV (SP)+,#0100 -> L01 CALL_VS R0312 (L00,L04) -> -(SP) JZ (SP)+ [TRUE] RFALSE LOADW #00,#05 -> L02 JE L04,#02 [FALSE] L0005 MUL #02,L01 -> -(SP) ADD L02,(SP)+ -> -(SP) SUB (SP)+,#02 -> -(SP) RET_POPPED L0005: MUL L04,#0e -> -(SP) ADD L02,#7c -> -(SP) ADD (SP)+,(SP)+ -> -(SP) DIV (SP)+,#02 -> -(SP) LOADW #00,(SP)+ -> L02 LOADB #00,L02 -> -(SP) MUL #02,(SP)+ -> -(SP) ADD L02,(SP)+ -> -(SP) ADD (SP)+,#01 -> -(SP) CALL_VS R0318 ((SP)+,#ffff) -> -(SP) ADD (SP)+,#06 -> L02 CALL_VS R0318 (L02,L01) -> -(SP) RET_POPPED L0006: GET_PROP_ADDR L00,#03 -> -(SP) JZ (SP)+ [TRUE] RFALSE JIN L00,"Class" [FALSE] L0007 JL L01,#40 [TRUE] RFALSE JL L01,#48 [FALSE] RFALSE L0007: JE Geb,L00 [FALSE] L0008 OR L01,#8000 -> L03 L0008: GET_PROP L00,#03 -> L02 L0009: LOADW L02,#00 -> -(SP) JZ (SP)+ [TRUE] L0011 LOADW L02,#00 -> -(SP) JE (SP)+,L01,L03 [FALSE] L0010 ADD L02,#03 -> -(SP) RET_POPPED L0010: LOADB L02,#02 -> -(SP) ADD L02,(SP)+ -> -(SP) ADD (SP)+,#03 -> L02 JUMP L0009 L0011: RFALSE Routine R0310, 3 locals JL L01,#40 [FALSE] L0002 JG L01,#00 [FALSE] L0002 GET_PROP_ADDR L00,L01 -> Gef JZ Gef [TRUE] L0001 GET_PROP_LEN Gef -> Gef L0001: PUSH Gef RET_POPPED L0002: CALL_VS R0309 (L00,L01) -> L02 JZ L02 [TRUE] RFALSE SUB L02,#01 -> -(SP) LOADB (SP)+,#00 -> -(SP) RET_POPPED Routine R0311, 2 locals JL L00,#01 [TRUE] L0001 SUB #0165,#ff -> -(SP) JG L00,(SP)+ [FALSE] L0004 L0001: JE L01,#46,#47,#45 [FALSE] RFALSE CALL_2S R0315 (L00) -> -(SP) PULL Gef JE Gef,#02 [FALSE] L0002 JE L01,#45 [TRUE] RTRUE JUMP L0003 L0002: JE Gef,#03 [FALSE] L0003 JE L01,#46,#47 [TRUE] RTRUE L0003: RFALSE L0004: JL L01,#40 [FALSE] L0005 GET_PROP_ADDR L00,L01 -> -(SP) JZ (SP)+ [FALSE] RTRUE RFALSE L0005: CALL_VS R0309 (L00,L01) -> -(SP) JZ (SP)+ [FALSE] RTRUE JL L01,#48 [FALSE] L0006 JIN L00,"Class" [TRUE] RTRUE L0006: RFALSE Routine R0312, 5 locals JL L00,#01 [TRUE] L0001 SUB #0165,#ff -> -(SP) JG L00,(SP)+ [FALSE] L0002 L0001: JE L01,#03,#04 [FALSE] RFALSE SUB L01,#01 -> -(SP) CALL_2S R0315 (L00) -> -(SP) JE (SP)+,(SP)+ [TRUE] RTRUE RFALSE L0002: STORE Gef,L01 JE Gef,#01 [FALSE] L0003 JG L00,#04 [FALSE] RTRUE JIN L00,"Class" [TRUE] RTRUE RFALSE L0003: JE Gef,#02 [FALSE] L0004 JG L00,#04 [FALSE] RFALSE JIN L00,"Class" [TRUE] RFALSE RTRUE L0004: JE Gef,#03,#04 [FALSE] L0005 RFALSE L0005: JIN L01,"Class" [TRUE] L0006 CALL_VN R0314 (S089,L01,#ffff) RFALSE L0006: GET_PROP_ADDR L00,#02 -> L03 JZ L03 [TRUE] RFALSE GET_PROP_ADDR L00,#02 -> Gef JZ Gef [TRUE] L0007 GET_PROP_LEN Gef -> Gef L0007: STORE L04,Gef STORE L02,#00 L0008: DIV L04,#02 -> -(SP) JL L02,(SP)+ [FALSE] L0009 LOADW L03,L02 -> -(SP) JE (SP)+,L01 [TRUE] RTRUE INC L02 JUMP L0008 L0009: RFALSE Routine R0313, 9 locals STORE L04,#00 L0001: JL L04,#30 [FALSE] L0004 TEST_ATTR L01,L04 [FALSE] L0002 SET_ATTR L00,L04 JUMP L0003 L0002: CLEAR_ATTR L00,L04 L0003: INC L04 JUMP L0001 L0004: STORE L04,#01 L0005: JL L04,#40 [FALSE] L0010 GET_PROP_ADDR L00,L04 -> L02 GET_PROP_ADDR L01,L04 -> L03 GET_PROP_ADDR L00,L04 -> Gef JZ Gef [TRUE] L0006 GET_PROP_LEN Gef -> Gef L0006: STORE L07,Gef JZ L02 [TRUE] L0009 JZ L03 [TRUE] L0009 GET_PROP_ADDR L01,L04 -> Gef JZ Gef [TRUE] L0007 GET_PROP_LEN Gef -> Gef L0007: PUSH Gef JE L07,(SP)+ [FALSE] L0009 STORE L05,#00 L0008: JL L05,L07 [FALSE] L0009 LOADB L03,L05 -> -(SP) STOREB L02,L05,(SP)+ INC L05 JUMP L0008 L0009: INC L04 JUMP L0005 L0010: GET_PROP_ADDR L00,#03 -> -(SP) JZ (SP)+ [TRUE] L0011 GET_PROP_ADDR L01,#03 -> -(SP) JZ (SP)+ [FALSE] L0012 L0011: RTRUE L0012: GET_PROP L01,#03 -> L04 JUMP L0014 L0013: ADD L04,L07 -> -(SP) ADD (SP)+,#03 -> L04 L0014: LOADW L04,#00 -> -(SP) JZ (SP)+ [TRUE] L0020 LOADW L04,#00 -> L08 LOADB L04,#02 -> L07 GET_PROP L00,#03 -> L05 JUMP L0016 L0015: LOADB L05,#02 -> -(SP) ADD L05,(SP)+ -> -(SP) ADD (SP)+,#03 -> L05 L0016: LOADW L05,#00 -> -(SP) JZ (SP)+ [TRUE] L0019 LOADW L05,#00 -> -(SP) AND (SP)+,#7fff -> -(SP) AND L08,#7fff -> -(SP) JE (SP)+,(SP)+ [FALSE] L0018 LOADB L05,#02 -> -(SP) JE L07,(SP)+ [FALSE] L0018 STORE L06,#03 L0017: ADD L07,#03 -> -(SP) JL L06,(SP)+ [FALSE] L0018 LOADB L04,L06 -> -(SP) STOREB L05,L06,(SP)+ INC L06 JUMP L0017 L0018: JUMP L0015 L0019: JUMP L0013 L0020: RTRUE Routine R0314, 5 locals PRINT " ** Run-time error: " JIN L01,"Class" [FALSE] L0001 PRINT "Class " L0001: PRINT_OBJ L01 PRINT " (object number " PRINT_NUM L01 PRINT ") " JL L02,#00 [FALSE] L0002 PRINT "is not of class " SUB #00,L02 -> -(SP) CALL_2N R0105 ((SP)+) JUMP L0004 L0002: PRINT " has no property " CALL_2N R0306 (L02) STORE L04,#11ac LOADW L04,#00 -> L03 JL L02,#00 [TRUE] L0003 JL L02,L03 [TRUE] L0004 L0003: PRINT " (and nor has any other object)" L0004: PRINT " to " PRINT_PADDR L00 PRINT " ** " RTRUE Routine R0315, 1 local JZ L00 [TRUE] RFALSE JL L00,#01 [TRUE] L0001 SUB #0165,#ff -> -(SP) JG L00,(SP)+ [FALSE] RTRUE L0001: CALL_VS R0316 (L00,S001) -> -(SP) JL (SP)+,#00 [TRUE] L0002 RET #03 L0002: CALL_VS R0316 (L00,#0c71) -> -(SP) JL (SP)+,#00 [TRUE] L0003 RET #02 L0003: RFALSE Routine R0316, 4 locals JE L00,L01 [FALSE] L0001 RFALSE L0001: JL L00,#00 [FALSE] L0002 JL L01,#00 [TRUE] L0002 RTRUE L0002: JL L00,#00 [TRUE] L0003 JL L01,#00 [FALSE] L0003 RET #ffff L0003: AND L00,#7fff -> L02 AND L01,#7fff -> L03 JG L02,L03 [FALSE] L0004 RTRUE L0004: RET #ffff Routine R0317, 1 local CALL_2S R0315 (L00) -> -(SP) PULL Gef JE Gef,#02 [FALSE] L0001 RET #03 L0001: JE Gef,#03 [FALSE] L0002 RET #04 L0002: JE Gef,#01 [FALSE] L0005 JIN L00,"Class" [TRUE] L0003 JG L00,#04 [TRUE] L0004 L0003: RTRUE L0004: RET #02 L0005: RFALSE Routine R0318, 4 locals L0001: LOADB #00,L00 -> L02 JZ L02 [TRUE] L0006 AND L02,#80 -> -(SP) JZ (SP)+ [TRUE] L0002 INC L00 LOADB #00,L00 -> -(SP) AND (SP)+,#3f -> L03 JUMP L0004 L0002: AND L02,#40 -> -(SP) JZ (SP)+ [TRUE] L0003 STORE L03,#02 JUMP L0004 L0003: STORE L03,#01 L0004: INC L00 AND L02,#3f -> -(SP) JE (SP)+,L01 [FALSE] L0005 RET L00 L0005: ADD L00,L03 -> L00 JUMP L0001 L0006: JL L01,#00 [FALSE] L0007 ADD L00,#01 -> -(SP) RET_POPPED L0007: RFALSE Routine R0319, 5 locals STORE Gef,L01 JE Gef,#40 [FALSE] L0005 STORE Gef,#00 GET_CHILD L00 -> -(SP) [FALSE] L0002 L0001: INC Gef GET_SIBLING (SP)+ -> -(SP) [TRUE] L0001 L0002: PULL Gee PUSH Gef JG (SP)+,#01 [FALSE] RFALSE GET_CHILD L00 -> L04 [FALSE] L0003 L0003: REMOVE_OBJ L04 CALL_VS R0311 (L04,#40) -> -(SP) JZ (SP)+ [TRUE] L0004 CALL_VN R0308 (L04,#40) L0004: RET L04 L0005: JE Gef,#41 [FALSE] L0009 CALL_VS R0312 (L02,L00) -> -(SP) JZ (SP)+ [FALSE] L0006 SUB #00,L00 -> -(SP) CALL_VN R0314 (S090,L02,(SP)+) RFALSE L0006: GET_CHILD L00 -> -(SP) [FALSE] L0007 L0007: CALL_VN R0313 (L02,(SP)+) CALL_VS R0311 (L02,#40) -> -(SP) JZ (SP)+ [TRUE] L0008 CALL_VN R0308 (L02,#40) L0008: RFALSE L0009: JE Gef,#42 [FALSE] L0013 CALL_VS R0312 (L02,L00) -> -(SP) JZ (SP)+ [FALSE] L0010 SUB #00,L00 -> -(SP) CALL_VN R0314 (S091,L02,(SP)+) RFALSE L0010: CALL_VS R0311 (L02,#42) -> -(SP) JZ (SP)+ [TRUE] L0011 CALL_VN R0308 (L02,#42) L0011: GET_CHILD L00 -> -(SP) [FALSE] L0012 L0012: CALL_VN R0313 (L02,(SP)+) INSERT_OBJ L02,L00 RFALSE L0013: JE Gef,#43 [FALSE] L0016 STORE Gef,#00 GET_CHILD L00 -> -(SP) [FALSE] L0015 L0014: INC Gef GET_SIBLING (SP)+ -> -(SP) [TRUE] L0014 L0015: PULL Gee PUSH Gef SUB (SP)+,#01 -> -(SP) RET_POPPED L0016: JE Gef,#44 [FALSE] L0019 CALL_VS R0312 (L02,L00) -> -(SP) JZ (SP)+ [FALSE] L0017 SUB #00,L00 -> -(SP) CALL_VN R0314 (S092,L02,(SP)+) RFALSE L0017: CALL_VS R0312 (L03,L00) -> -(SP) JZ (SP)+ [FALSE] L0018 SUB #00,L00 -> -(SP) CALL_VN R0314 (S093,L03,(SP)+) RFALSE L0018: CALL_VN R0313 (L02,L03) RFALSE L0019: RTRUE [End of code] [Start of text] S001: "C.I.A. Adventure" S002: " Original Author Unknown. Ported from TRS-80 version on CPMNET BBS to GWBASIC by Pete Wohlmut (1982) Ported to Inform by J. Kevin Thomas (jkthomas@unity.ncsu.edu) " S003: "970405" S004: "6/5" S005: "a" S006: "---" S007: "the" S008: "The " S009: "the " S010: "a " S011: "The " S012: "the " S013: "an " S014: "The " S015: "the " S016: "some " S017: "The " S018: "the " S019: "some " S020: "N = next subject" S021: "P = previous" S022: " Q = resume game" S023: "Q = previous menu" S024: "RETURN = read subject" S025: "Score: " S026: "Moves: " S027: "Time: " S028: "You can't go that way." S029: "your former self" S030: "yourself" S031: "Darkness" S032: "those things" S033: "that" S034: " or " S035: "nothing" S036: " is" S037: " are" S038: "is " S039: "are " S040: " and " S041: "whom " S042: "which " S043: "You are on a busy street." S044: "a" S045: "You are in the lobby of the building." S046: "There's a button near the doors." S047: "You are in a small room." S048: "an" S049: "You are in a visitors room." S050: "You are in a dingy anteroom." S051: "You are in the president's office." S052: "It looks fragile." S053: "It looks heavy." S054: "You are in a hallway." S055: "It looks fragile." S056: "You are in a security office." S057: "You are in a cafeteria." S058: "You are in a maintenance closet." S059: "Its a very strong bag." S060: "You are in a short corridor." S061: "sleeping guard" S062: "There is a small slit beside the door." S063: "security guard" S064: "security guard" S065: "You are in a hallway made of metal." S066: "You are in a small plain room." S067: "You are in a small sound-proofed cubicle." S068: "You are in a side corridor." S069: "You are in the power generator room." S070: "It says: Watch out! Dangerous!" S071: "You are in a sub-basement below the chute." S072: "You are in the entrance to the secret complex." S073: "You are in a secret monitoring room." S074: "You see a room with a case on a pedestal in it." S075: "You are on a ledge in front of a metal pit 1000's of feet deep." S076: "You are on the other side of the pit." S077: "You are in a long corridor." S078: "You are in a narrow cross corridor." S079: "You are in a secret laboratory." S080: "You are in a large room." S081: "You see a picture of a grinning jackal." S082: "You are in a cross-examination room." S083: "You are in the office of the chief of CHAOS." S084: "You are in a small bathroom." S085: "You are in the CHAOS control room." S086: "You are near the end of the complex." S087: "read" S088: "send message" S089: "apply 'ofclass' for" S090: "recreate" S091: "destroy" S092: "copy" S093: "copy" S094: "" S095: "name" S096: "create" S097: "recreate" S098: "destroy" S099: "remaining" S100: "copy" S101: "call" S102: "print" S103: "print_to_array" S104: "animate" S105: "absent" S106: "clothing" S107: "concealed" S108: "container" S109: "door" S110: "edible" S111: "enterable" S112: "general" S113: "light" S114: "lockable" S115: "locked" S116: "moved" S117: "on" S118: "open" S119: "openable" S120: "proper" S121: "scenery" S122: "scored" S123: "static" S124: "supporter" S125: "switchable" S126: "talkable" S127: "transparent" S128: "visited" S129: "workflag" S130: "worn" S131: "male" S132: "female" S133: "neuter" S134: "pluralname" S135: "before" S136: "after" S137: "life" S138: "n_to" S139: "s_to" S140: "e_to" S141: "w_to" S142: "ne_to" S143: "se_to" S144: "nw_to" S145: "sw_to" S146: "u_to" S147: "d_to" S148: "in_to" S149: "out_to" S150: "door_to" S151: "with_key" S152: "door_dir" S153: "invent" S154: "plural" S155: "add_to_scope" S156: "list_together" S157: "react_before" S158: "react_after" S159: "grammar" S160: "orders" S161: "initial" S162: "when_open" S163: "when_closed" S164: "when_on" S165: "when_off" S166: "description" S167: "describe" S168: "article" S169: "cant_go" S170: "found_in" S171: "time_left" S172: "number" S173: "time_out" S174: "daemon" S175: "each_turn" S176: "capacity" S177: "short_name" S178: "short_name_indef" S179: "parse_name" S180: "articles" S181: "inside_description" S182: "play" S183: "Pronouns" S184: "Quit" S185: "Restart" S186: "Restore" S187: "Save" S188: "Verify" S189: "ScriptOn" S190: "ScriptOff" S191: "NotifyOn" S192: "NotifyOff" S193: "Places" S194: "Objects" S195: "Score" S196: "FullScore" S197: "Inv" S198: "Take" S199: "Drop" S200: "Remove" S201: "PutOn" S202: "Insert" S203: "EmptyT" S204: "Give" S205: "Show" S206: "Enter" S207: "GetOff" S208: "Exit" S209: "VagueGo" S210: "Go" S211: "LMode1" S212: "LMode2" S213: "LMode3" S214: "Look" S215: "Examine" S216: "LookUnder" S217: "Search" S218: "Unlock" S219: "Lock" S220: "SwitchOn" S221: "SwitchOff" S222: "Open" S223: "Close" S224: "Disrobe" S225: "Wear" S226: "Eat" S227: "Yes" S228: "No" S229: "Burn" S230: "Pray" S231: "Wake" S232: "WakeOther" S233: "Kiss" S234: "Think" S235: "Smell" S236: "Listen" S237: "Taste" S238: "Touch" S239: "Dig" S240: "Cut" S241: "Jump" S242: "JumpOver" S243: "Tie" S244: "Drink" S245: "Fill" S246: "Sorry" S247: "Strong" S248: "Mild" S249: "Attack" S250: "Swim" S251: "Swing" S252: "Blow" S253: "Rub" S254: "Set" S255: "SetTo" S256: "WaveHands" S257: "Wave" S258: "Pull" S259: "Push" S260: "Turn" S261: "PushDir" S262: "Squeeze" S263: "ThrowAt" S264: "Tell" S265: "Answer" S266: "Ask" S267: "Buy" S268: "Sing" S269: "Climb" S270: "Wait" S271: "Sleep" S272: "Consult" S273: "parse_input" S274: "AskFor" S275: "GiveR" S276: "ShowR" S277: "begin_action" S278: "end_turn_sequence" S279: "Transfer" S280: "hidden" S281: "poisoned" S282: "Version" S283: "Empty" S284: "InvTall" S285: "InvWide" S286: "GoIn" S287: "Bond007" S288: "Mission" [End of text] [End of file]